一、oracle 存储过程的基本语法
1.1 基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字(参数1 IN/OUT NUMBER, 参数2 IN/OUT NUMBER) IS/AS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
...
END;
1.2 SELECT … INTO … FROM …
将select查询的结果存储到变量中(注:这里可以将多个列存储到多个变量中,但是至少必须有一条记录存在,否则会抛出异常no_data_found)。举个例子:
BEGIN SELECT col1,col2 INTO 变量1,变量2 FROM typestruct where xxx;
EXCEPTION WHEN NO_DATA_FOUND THEN xxxx;
END;
1.3 IF 判断
IF V_TEST=1 THEN BEGIN do something END;
END IF;
1.4 while循环
WHILE V_TEST=1 LOOP BEGIN XXXX END;
END LOOP;
1.5 变量赋值
V_TEST := 123;
1.6 for … in …
- 使用cursor(游标) … IS
CURSOR cur IS SELECT * FROM xxx;
BEGIN FOR cur_result in cur LOOP BEGIN V_SUM :=cur_result.列名1+cur_result.列名2 END; END LOOP;
END;
1.7 带参数的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(变量值);
LOOP FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND; do something
END LOOP;
CLOSE C_USER;
1.8 最后扯个蛋:用pl/sql developer 开启debug模式
连接数据库后建立一个TEST WINDOW 在窗口输入调用SP的代码,F9开始DEBUG,CTRL+N单步调试。
以上就是oracle存储过程的基本语法梳理,希望能够帮到你。
关注我,在编程的路上让你少走一些弯路。
