06 2010 档案

摘要:--查询存储过程 --select * from user_source order by name; clear; select * from user_source where name = 'ADD_USER_INFORMATION'; --查询函数: --var sname = upper('get_sal'); --select * from user_source where name = 'GET_SAL'; select * from user_source where upper(name)= upper('get_sal'); --查询包: select * from user_source where upper(name)=upper('pack_test') and upper(type) = upper('package'); --删除存储过程: drop procedure add_user_information; -- --删除函数: drop function get_val; --删除包: drop pa 阅读全文
posted @ 2010-06-04 20:32 叮当小马 阅读(486) 评论(0) 推荐(0)
摘要:clear; --创建函数: create or replace function get_sal(name in varchar2) return number as v_sal emp.sal%type; begin select sal into v_sal from emp where upper(ename)= upper(name); return v_sal; Exception when no_data_found then raise_application_error(-20000,'该雇员不存在.'); end; / var sal number; exec :sal := get_sal('scott'); --print sal; sal --------- 3000 阅读全文
posted @ 2010-06-04 20:31 叮当小马 阅读(339) 评论(0) 推荐(0)
摘要:http://topic.csdn.net/t/20041126/22/3592748.html --参考资料: --包 CREATE OR REPLACE PACKAGE PAG_CUR_TEST --创建一个包 AS TYPE c_TYPE IS REF CURSOR; PROCEDURE prc_selecttestip(p_CUR In OUT c_TYPE); --存储过程带参数 END PAG_CUR_TEST; / --存储过程 CREATE OR REPLACE PACKAGE BODY PAG_CUR_TEST --创建一个包,创建包体 AS PROCEDURE prc_selecttestip(p_CUR In OUT c_TYPE) AS BEGIN OPEN p_CUR FOR SELECT * FROM ip_test; END 阅读全文
posted @ 2010-06-04 19:17 叮当小马 阅读(700) 评论(0) 推荐(0)
摘要:参考资料:http://reallyafei.javaeye.com/blog/391097 创建基本表 -- Create table create table USER_INFORMATION ( P_ID NUMBER, USER_LOGIN_NAME NVARCHAR2(30) ) 创建包: create or replace package pack_test is type cur_test is ref cursor; end pack_test; / --这个不能少呀,加上这个就可以在sql/plus中运行了,这个是结束符号 创建存储过程 create or replace procedure proc_cur(p_id in number,p_cur out pack_test.cur_test) is v_sql varchar2(400); begin if p_id = 0 then op 阅读全文
posted @ 2010-06-04 18:30 叮当小马 阅读(1188) 评论(0) 推荐(0)
摘要:--创建一个视图 create view v_ip_test as select * from ip_test order by id ; --使用数据字典来查询数据库中所有的 select * from user_views select * from user_views where view_name='v_ip_test' --此外应该为大写,否则会查询不出来。 select text from user_views where view_name='V_IP_TEST' --视图可以执行dml操作 select * from user_updatable_columns; --显示索引: --从数据字典中查询所有的索引 select * from ind; select index_name,uniqueness,status from ind where table_name='EMP'; --索引列的信息写入数据字典: select * from user_ind_columns; select column_name,column_ 阅读全文
posted @ 2010-06-03 14:56 叮当小马 阅读(881) 评论(0) 推荐(0)
摘要:物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。 ON DEMAND和ON COMMIT物化视图的区别在于其刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;而ON COMMIT是说,一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。创建物化视图时未作指定,则Oracle按ON DEMAND模式来创建。 1) 物化视图在某种意义上说就是一个物理表(而且不仅仅是一个物理表),这通过其可以被user_tables查询出来,而得到佐证;   2) 物化视图也是一种段(segment),所以其有自己的物理存储属性;   3) 物化视图会占用数据库磁盘空间,这点从user_segment的查询结果,可以得到佐证。 --获取数据库rdbms版本信息   select 阅读全文
posted @ 2010-06-02 15:00 叮当小马 阅读(728) 评论(0) 推荐(0)