Oracle存储过程语法 .
1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN VARCHAR2) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字//oracle公司推荐使用VARCHAR2,不使用VARCHAR//存储过程传入参数的in可省略,默认就是in//没有bool类型,用int代替2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM tbl where xxx; EXCEPTION WHEN NO_DATA_FOUND THEN xxxx; END; ...3.IF 判断if (p2=1) then dbms_output.put_line('111'); elsif p2=2 then dbms_output.put_line('222'); else dbms_output.put_line('else');end if;--如果输出的行太长v_pos:=1;WHILE v_pos<= LENGTH(SqlStr) LOOP DBMS_OUTPUT.PUT_LINE(SUBSTR(SqlStr, v_pos, 200)); v_pos:= v_pos+ 200;END LOOP; 4.while 循环 WHILE V_TEST=1 LOOP BEGIN XXXX END; END LOOP;5.变量赋值 V_TEST := 123;6.用for in 使用cursordeclare cursor cc is select * from tbl order by id; ccrec cc%rowtype; begin for ccrec in cc loop begin dbms_output.put_line(ccrec.ID||'-'||ccrec.Name); end; end loop; end;7.带参数的cursor CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID; OPEN C_USER(变量值); LOOPFETCH C_USER INTO V_NAME;EXIT FETCH C_USER%NOTFOUND; do something END LOOP; CLOSE C_USER;8.用pl/sql developer debug 连接数据库后建立一个Test WINDOW 在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
阅读更多
想对作者说点什么? 我来说一句

oracle存储过程语法

2010年09月28日 68KB 下载

oracle存储过程语法及实例讲解

2011年12月24日 53KB 下载

oracle存储过程学习经典

2011年08月24日 118KB 下载

没有更多推荐了,返回首页

不良信息举报

Oracle存储过程语法 .

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭