PLSQL中如何执行带有返回值的存储过程

2025-02-10 09:51:58
推荐回答(1个)
回答1:

先定义包规范:
create or replace package zhidao_pkg as
type t_RetSet is REF CURSOR;
procedure test_proc (Condition1 varchar2,Condition2 varchar2,Condition3 varchar2,Condition4 varchar2,r_Cursor out t_RetSet,status out int);
end zhidao_pkg;
包体创建
create or replace package body zhidao_pkg is
procedure test_proc (Condition1 varchar2,Condition2 varchar2,Condition3 varchar2,Condition4 varchar2,r_Cursor out t_RetSet,status out int) as 
begin 
..........
end zhidao_pkg;
调用:
SQL> var cur refcursor
SQL> var stas int
SQL> exec test(10,:cur,:stas)
 
PL/SQL 过程已成功完成。
 
SQL> print :cur
SQL> print :stas

希望对你有帮助,有问题再追问吧,望采纳。