Stored procedures db2如何创建一个简单的更新和选择存储过程?

Stored procedures db2如何创建一个简单的更新和选择存储过程?,stored-procedures,db2,Stored Procedures,Db2,DB2存储过程更新记录并选择记录 CREATE PROCEDURE DB2INST1.GETPEOPLE2(IN ids bigint ) SPECIFIC DB2INST1.GETPEOPLE2 DYNAMIC RESULT SETS 1 MODIFIES SQL DATA LANGUAGE SQL BEGIN update test2 set a=a+1 where a>ids; DECLA

DB2存储过程更新记录并选择记录

CREATE PROCEDURE DB2INST1.GETPEOPLE2(IN ids bigint )

    SPECIFIC DB2INST1.GETPEOPLE2

    DYNAMIC RESULT SETS 1

    MODIFIES SQL DATA

    LANGUAGE SQL 



    BEGIN 

        update test2 set a=a+1 where a>ids;

         DECLARE rs1 CURSOR WITH RETURN TO CLIENT FOR  

        select * from db2inst1.test2;

        OPEN rs1;
END  
但它不起作用。 错误:DB21034E该命令作为SQL语句处理,因为它不是有效的命令行处理器命令。在SQL处理过程中,它返回:SQL0104N在“ids;DECLARE”之后发现一个意外标记“rs1 CURSOR sele”。预期的令牌可能包括:“”。行号=10。SQLSTATE=42601

好的,它可以工作:

BEGIN 
        DECLARE rs1 CURSOR WITH RETURN TO CLIENT FOR  
            select * from db2inst1.test2;
        update test2 set a=a+1 where a>ids;
        OPEN rs1;
END 

请指定您期望的结果和您得到的结果。请检查手册中复合SQL的语法。所有的
DECLARE
语句都必须在任何可执行语句之前。DB2拥有
SELECT FROM FINAL TABLE
,它将返回内部
UPDATE
INSERT
语句的更改行(如果有)。
INCLUDE
子句也可以在更新之前显示原始值。