Oracle存储过程
1、创建存储过程(无参数)
-- 创建存储过程createorreplaceprocedure proc_empascursor cur_cusisselect *from empwhere deptno =10; beginfor v_rowin cur_cusloop dbms_output.put_line(v_row.empno||' | '||v_row.ename);endloop; end proc_emp; 复制代码
PLSQL执行存储过程
-- 先在Command Window窗口打开显示输出set serveroutputon; -- 再执行存储过程 exec proc_emp; 复制代码
JDBC调用执行存储过程(在PLSQL中执行此命令,将查询到的结果存到缓存中,当再次调用 exec proc_emp时,将缓存中存到的所有数据展示出来,总共有两次记录)
当过程无参时,也需要小括号
call proc_emp(); 复制代码
2、创建存储过程(带参数)
注意:形参不能写精度,否则编译错误
createorreplaceprocedure proc_emp(dnonumber)ascursor cur_cusisselect *from empwhere deptno = dno; beginfor v_rowin cur_cusloop dbms_output.put_line(v_row.empno||' | '||v_row.ename);endloop; end proc_emp; 复制代码
PLSQL执行存储过程
exec proc_emp(30); 复制代码
jdbc执行存储过程
call proc_emp(30); 复制代码
使用PLSQL存储过程对话框建立存储过程生成标准的sql语句
创建多个参数的存储过程
createorreplaceprocedure proc_emp(dnonumber,dnamevarchar2)asbegininsertinto deptvalues(dno,dname);-- DDL语句不会自动提交事务,必须手动提交事务commit; end proc_emp; 复制代码