【问题标题】:how to create static cursor in db2?如何在 db2 中创建静态游标?
【发布时间】:2009-09-22 11:33:01
【问题描述】:

我在 DB2 中创建静态游标时遇到问题。这是我在我的 SP 中使用的语句。

DECLARE CURNAME SENSITIVE STATIC SCROLL CURSOR FOR 
        SELECT COL1, COL2 
        FROM SCH.TABLENA 
        ORDER BY COL1;

在编译时它说: DB2 数据库错误:错误 [42601] [IBM][DB2/NT] SQL0104N 在“”之后发现了意外的标记“敏感”。预期的标记可能包括:“FOR”。第 20 行。 SQLSTATE=42601

我使用的 Db2 版本是 9.5。

请告诉我如何创建静态光标。

【问题讨论】:

    标签: sql stored-procedures db2


    【解决方案1】:

    我假设您在 SP 中声明游标。这是相同的语法:

    >>-DECLARE--cursor-name--CURSOR--+-----------+------------------>
                                     '-WITH HOLD-'
    
    >--+----------------------------+--FOR--+-select-statement-+---><
       |              .-TO CALLER-. |       '-statement-name---'
       '-WITH RETURN--+-----------+-'
                      '-TO CLIENT-'
    

    为什么要指定敏感静态滚动?有具体要求吗?

    只有在 CLI 应用程序中声明游标时,才能指定 SENSITIVE STATIC SCROLL,在这种情况下,声明以 EXEC SQL stmt 开头:

    EXEC SQL DECLARE C2 SENSITIVE STATIC SCROLL CURSOR FOR
      SELECT DEPTNO, DEPTNAME, MGRNO
      FROM DSN8910.DEPT
      ORDER BY DEPTNO
    END-EXEC
    

    【讨论】:

    • 是的,我在 SP 中创建光标,Thnx
    猜你喜欢
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多