DBMS_SQL
功能描述
GaussDB 100提供的用于执行SQL语句以及返回执行结果的包。
接口介绍
DBMS_SQL.RETURN_RESULT
描述:返回执行结果集。
注意事项:
- 目前只能返回SQL查询结果,并且不支持远程过程调用返回该结果。
- 一旦语句被返回,除了客户端或返回它的直接调用者之外,它不再可访问。
- 当客户端执行的语句或任何中间递归语句是SQL查询并引发错误时,无法返回语句结果。
- 如果执行存储过程返回结果后执行出错,无法返回语句结果。
- 该接口只能用于存储过程和匿名块,目前return_result只返回游标给客户端,不返回给上层调用者。
- 一次sql执行最多返回的游标个数由系统参数open_cursors控制。
接口:
DBMS_SQL.RETURN_RESULT(rc IN OUT SYS_REFCURSOR);
参数:rc,系统游标。
示例:
CREATE OR REPLACE PROCEDURE proc_return(f1 in int) IS v_refcur2 SYS_REFCURSOR; BEGIN OPEN v_refcur2 FOR SELECT 1 FROM SYS_DUMMY; DBMS_SQL.RETURN_RESULT(v_refcur2); OPEN v_refcur2 FOR SELECT 2 FROM SYS_DUMMY; DBMS_SQL.RETURN_RESULT(v_refcur2); OPEN v_refcur2 FOR SELECT 3 FROM SYS_DUMMY; DBMS_SQL.RETURN_RESULT(v_refcur2); END; / SQL> EXEC proc_return(2); PL/SQL procedure successfully completed. ResultSet #1 1 ------------ 1 1 rows fetched. ResultSet #2 2 ------------ 2 1 rows fetched. ResultSet #3 3 ------------ 3 1 rows fetched.
「喜欢文章,快来给作者赞赏墨值吧」
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。