《2022年Oracle存储过程基本语法格式 .pdf》由会员分享,可在线阅读,更多相关《2022年Oracle存储过程基本语法格式 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、oracle 存储过程的基本语法1. 基本结构CREATE OR REPLACE PROCEDURE 存储过程名字( 参数 1 IN NUMBER, 参数 2 IN NUMBER ) IS 变量 1 INTEGER :=0; 变量 2 DATE; BEGIN END 存储过程名字2.SELECT INTO STATEMENT将 select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条记录,否则抛出异常 (如果没有记录抛出NO_DATA_FOUND) 例子:BEGIN SELECT col1,col2 into 变量 1, 变量 2 FROM typestruct wher
2、e xxx; EXCEPTION WHEN NO_DATA_FOUND THEN xxxx; END; . 3.IF 判断IF V_TEST=1 THEN BEGIN do something 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 6 页 - - - - - - - - - - END; END IF; 4.while 循环WHILE V_TEST=1 LOOP BEGIN XXXX END; END LOOP; 5. 变量赋值V_TEST := 123; 6. 用 for in 使
3、用 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; 7. 带参数的 cursorCURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID; OPEN C_USER( 变量值); LOOP FETCH C_USER INTO V_NAME; 精品资料 - - - 欢迎下载 - -
4、 - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 6 页 - - - - - - - - - - EXIT FETCH C_USER%NOTFOUND; do something END LOOP; CLOSE C_USER; 8. 用 pl/sql developer debug 连接数据库后建立一个Test WINDOW 在窗口输入调用 SP 的代码,F9 开始 debug,CTRL+N单步调试1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字( 参数 1 IN NUMBER, 参数 2 IN NU
5、MBER ) IS 变量 1 INTEGER :=0; 变量 2 DATE; BEGIN END 存储过程名字2.SELECT INTO STATEMENT 将 select 查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子:BEGIN SELECT col1,col2 into 变量 1,变量 2 FROM typestruct where xxx; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 6 页
6、 - - - - - - - - - - EXCEPTION WHEN NO_DATA_FOUND THEN xxxx; END; . 3.IF 判断IF V_TEST=1 THEN BEGIN do something END; END IF; 4.while 循环WHILE V_TEST=1 LOOP BEGIN XXXX END; END LOOP; 5.变量赋值V_TEST := 123; 6.用 for in 使用 cursor . IS CURSOR cur IS SELECT * FROM xxx; BEGIN FOR cur_result in cur LOOP 精品资料 -
7、- - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 6 页 - - - - - - - - - - BEGIN V_SUM :=cur_result.列名 1+cur_result.列名 2 END; END LOOP; END; 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 F
8、ETCH C_USER%NOTFOUND; do something END LOOP; CLOSE C_USER; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 6 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 6 页 - - - - - - - - - -