暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 游标赋值与引用

原创 章芋文 2019-09-28
925

语法格式

rc1 := rc2;

参数说明

rc1

目的游标。

rc2

源游标。

示例

源游标未打开,目的游标给源游标赋值以后为空游标。

CREATE OR REPLACE PROCEDURE proc1 AS
     rc1 SYS_REFCURSOR;
     rc2 SYS_REFCURSOR;
BEGIN     rc1 := rc2;
     OPEN rc2 FOR SELECT 1 FROM SYS_DUMMY;     DBMS_SQL.RETURN_RESULT(rc1);END;
/

 EXEC proc1;

GS-00932, PL/SQL(SYS.PROC1) terminated with execute errors
[7:6] PL/SQL(DBMS_SQL.RETURN_RESULT) terminated with execute errors
[7:29] GS-00924, cursor not open

源游标已经打开,目的游标给源游标赋值后指向源游标,所有对目的游标或源游标的操作,实际为对同一游标的操作。

CREATE OR REPLACE PROCEDURE proc2 AS
     rc1 SYS_REFCURSOR;
     rc2 SYS_REFCURSOR;
BEGIN     OPEN rc2 FOR SELECT 1 FROM SYS_DUMMY;
     rc1 := rc2;
     DBMS_SQL.RETURN_RESULT(rc1);END;
/

EXEC proc2;
PL/SQL procedure successfully completed.
ResultSet #1
1
----------
1
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论