㈠调试procedure:办法就是在程序中打印出变量的值.
1、sqlplus 上执行 “set serveroptput on”命令
2、在存储过程中可以用 DBMS_OUTPUT.PUT_LINE(VarName); 来打印出来
给个存储过程的例子:
create or replace procedure test is Emp_name VARCHAR2(10); Cursor c1 IS SELECT Ename FROM EMP WHERE Deptno = 20; BEGIN OPEN c1; LOOP FETCH c1 INTO Emp_name; EXIT WHEN c1%NOTFOUND; DBMS_OUTPUT.PUT_LINE(Emp_name); END LOOP; end test;
后台建立test这个存储过程,编译它,以scott/tiger帐号进入,执行set serveroptput on,然后执行“exec test”.
㈡执行带参数的procedure:
SQL> create or replace procedure jl_test (a in varchar2,b out varchar2) as begin b:= a; end; /SQL> var c varchar2(10);SQL> exec jl_test('01',:c) PL/SQL 过程已成功完成。SQL> print cC--------------------------------01
在java中调用存储过程用的是call ps_name