2009-09-22 7 views
0

Je suis confronté à un problème lors de la création d'un curseur statique dans DB2. C'est la déclaration que j'ai utilisée dans mon SP.comment créer un curseur statique dans db2?

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

sur la compilation, il dit: DB2 Database Erreur: ERREUR [42601] [IBM] [DB2/NT] SQL0104N Un jeton inattendu "SENSIBLE" a été trouvé suivante "". Les jetons attendus peuvent inclure: "FOR". NUMERO DE LIGNE = 20. SQLSTATE = 42601

La version de Db2 que j'utilise est 9.5.

Veuillez me faire savoir comment créer un curseur statique.

Répondre

2

Je suppose que vous déclarez le curseur dans un SP. Voici la syntaxe pour la même chose:

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

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

Pourquoi avez-vous spécifié SENSITIVE STATIC SCROLL? Y a-t-il une exigence spécifique?

Vous pouvez spécifier SENSIBLE STATIC SCROLL que lorsque vous déclarez un curseur dans une application CLI, dans le cas où, la déclaration précède avec l'EXEC SQL stmt:

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

Oui, je crée le curseur dans SP, Thnx –

Questions connexes