Oracle PL/SQL
文章平均质量分 74
Laughing
淡定......
展开
-
Oracle 高级特性
本地动态SQL1.执行非查询语句和PL/SQL块DECLARE v_SQLString VARCHAR2(200); v_PLSQLBlock VARCHAR2(200);BEGIN EXECUTE IMMEDIATE 'create table tmp_table (col1 varchar2(10))'; --DDL语句最后不能加分号 FOR v_Count IN 1 .. 10 LOOP v_SQLString := 'insert into tmp_table原创 2011-03-19 19:32:00 · 3264 阅读 · 0 评论 -
Oracle 中的GOTO,RETURN,EXIT
1.GOTO,主要用于跳转,但会打乱我们的程序逻辑,一般不使用,它可以实现RETURN,EXIT的功能2.RETURN,返回程序末尾,结束程序3.EXIT,主要用于退出当前循环,相当于java中的break.4.要实现java中continue的功能可以使用自定义异常的方式它们之间的比较 --这里的GOTO相当于下面的EXIT用法BEGIN FOR i IN 1..2 LOOP IF i=2 THEN GOTO label; END IF;原创 2011-04-06 21:02:00 · 9219 阅读 · 0 评论 -
Oracle存储过程,游标使用
Oracle存储过程:语法:CREATE [OR REPLACE] PROCEDURE procedure_name(arg1 [mode1] datatype1,arg2 [mode2] datatype2,...)IS [AS]PL/SQL BLOCK;mode用于指定输入输出参数:IN为输入参数,OUT为输出参数,当为输入参数时可以省去IN,OUT不能省去。如果没原创 2011-03-11 21:31:00 · 32553 阅读 · 1 评论 -
Oracle Exception
使用Oracle EXCEPTION抛出异常:通过RAISE语句,用户自定义异常可以被显式抛出,预定义异常是当有关oracle错误产生时隐式抛出的。当与异常无关的某oracle错误产生时,也会产生异常。这种异常可以被OTHERS处理器捕获。预定义异常也可以通过RAISE语句显式抛出。异常抛出后就可以通过Exception when对异常进行处理。DECLARE v_test1原创 2011-03-13 22:16:00 · 2469 阅读 · 0 评论 -
RETURNING
利用 DML的RETURNING 语句可以返回刚刚操作的记录的信息,然后可以马上用于判断,这样避免了再次使用SQL语句做一次SELECT,提高了程序的性能,具体例子如下,注意UPDATE和DELETE返回值的差别:CREATE OR REPLACE PROCEDURE test_returningIS v_empno emp.empno%TYPE; v_ename emp.enam原创 2009-04-21 16:17:00 · 791 阅读 · 0 评论 -
浅析oracle嵌套表
浅析oracle嵌套表!/*以前在做报表的时候会经常用到oracle的内存表(其实是oracle嵌套表的部分功能,这里在下边介绍)来提高性能。利用oracle内存表进行临时运算通过ref cursor来返回我们想要的结果集。open cur for select * from table(fun_to_table_rb1_1(cur_qc,cur_qm));关于这部分的一些转载 2009-04-13 14:43:00 · 1086 阅读 · 0 评论 -
DBMS_UTILITY.GET_TIME与DBMS_UTILITY.GET_CPU_TIME
DBMS_UTILITY.GET_TIME 为总消耗时间.DBMS_UTILITY.GET_CPU_TIME为使用的cpu时间.当进程处于sleep时,不会消耗cpu时间.SQL> DECLARE 2 l_temp NUMBER; 3 BEGIN 4 l_temp := DBMS_UTILITY.get_cpu_time; 5 dbms_output原创 2011-05-26 12:31:00 · 1114 阅读 · 0 评论