Stored procedures db2如何创建一个简单的更新和选择存储过程?
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
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
子句也可以在更新之前显示原始值。