Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plsql 从ref游标向客户端返回值_Plsql - Fatal编程技术网

Plsql 从ref游标向客户端返回值

Plsql 从ref游标向客户端返回值,plsql,Plsql,将ref cursor返回给客户端意味着什么,以及如何将ref cursor值传递给oracle中的其他程序。请帮帮我 提前感谢好的,下面是一个在sqlplus中返回ref游标的过程、函数和匿名块的示例: ops$tkyte@ORA817DEV.US.ORACLE.COM> create or replace package types 2 as 3 type rc is ref cursor; 4 end; 5 / 包已创建 ops$tkyte@ORA817DEV.US.ORACLE.

将ref cursor返回给客户端意味着什么,以及如何将ref cursor值传递给oracle中的其他程序。请帮帮我


提前感谢

好的,下面是一个在sqlplus中返回ref游标的过程、函数和匿名块的示例:

ops$tkyte@ORA817DEV.US.ORACLE.COM> create or replace package types
2 as
3 type rc is ref cursor;
4 end;
5 /
包已创建

ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> create or replace procedure get_cursor_proc( p_cursor in out types.rc )
2 is
3 begin
4 open p_cursor for select * from dual;
5 end;
6 /
ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> create or replace function get_cursor_func return types.rc
2 as
3 l_cursor types.rc;
4 begin
5 open l_cursor for select * from dual;
6 return l_cursor;
7 end;
8 /
程序已创建

ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> create or replace procedure get_cursor_proc( p_cursor in out types.rc )
2 is
3 begin
4 open p_cursor for select * from dual;
5 end;
6 /
ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> create or replace function get_cursor_func return types.rc
2 as
3 l_cursor types.rc;
4 begin
5 open l_cursor for select * from dual;
6 return l_cursor;
7 end;
8 /
函数已创建

ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> variable x refcursor
ops$tkyte@ORA817DEV.US.ORACLE.COM> set autoprint on
ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> REM procedure
ops$tkyte@ORA817DEV.US.ORACLE.COM> exec get_cursor_proc(:x)
PL/SQL过程已成功完成

D X

PL/SQL过程已成功完成

D X

PL/SQL过程已成功完成

D X