2009-09-22 66 views
0

我在DB2中创建静态游标时遇到问题。这是我在SP中使用的陈述。在编译如何在db2中创建静态游标?

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

它说: DB2数据库错误:错误[42601] [IBM] [DB2/NT] SQL0104N异常标记 “敏感” 之后发现 “”。预期的代币可能包括:“FOR”。 LINE NUMBER = 20。 SQLSTATE = 42601

我使用的Db2版本是9.5。

请让我知道如何创建静态游标。

回答

2

我假设你正在SP中声明游标。以下是相同的语法:

>>-DECLARE--cursor-name--CURSOR--+-----------+------------------> 
           '-WITH HOLD-' 

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

为什么要指定SENSITIVE STATIC SCROLL?是否有特定要求?

您可以指定敏感STATIC SCROLL只有当你宣布一个CLI应用程序中的光标,其中,申报与EXEC SQL语句之前的情况:

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

是的,我创建光标在SP中,Thnx – 2009-10-22 13:37:03