华为GaussDB T DBMS_SQL

墨天轮 2019-10-12
385

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论