oracle的存储过程写法以及调用,各种游标的介绍(静态,动态,sys游标的区别)

时间:2022-03-29 15:50:46

1、plsql下执行不带参数的存储过程

     CALL  getDeptCount();




2、plsql下执行带参数的存储过程DECLARE,必须使用代码段,并且可以打印其中的输出参数


salary varchar2(100);
BEGIN
getSalaryByEmpNo('测试角色',salary);
DBMS_OUTPUT.PUT_LINE(salary);
END;



3、plsql下执行带参数的存储过程DECLARE,必须使用代码段,返回游标,但是游标不能再下面输出出来,想看游标可以通过右键----》test执行后,点开cursor来看
DECLARE
rolename varchar2(100);
creater varchar2(100);
rs SYS_REFCURSOR;
BEGIN
GET_out_CURSOR();

END;


call GET_OUT_CURSOR2();




DECLARE
rs SYS_REFCURSOR;
BEGIN
 GET_OUT_CURSOR3(rs);

END;


4、sqlplus执行存储过程,如果想看存储过程输出的游标结果,可以使用sqlplus来执行存储过程

variable p refcursor;
execute PollutionStatic.getPollutionStatic(:p);
print p;
在sqlplus的oracle用户下输出以上命令,可以打印出来输出结果

oracle的存储过程写法以及调用,各种游标的介绍(静态,动态,sys游标的区别)