[英]Execute SQL command from within a resultset in stored procedure in DB2
我有以下存儲過程:
CREATE PROCEDURE SQLTEST()
LANGUAGE SQL
BEGIN ATOMIC
DECLARE SQLCMD VARCHAR(1024);
FOR v AS cur1 CURSOR FOR SELECT ID, CMD from COMMANDTBL
DO
SET SQLCMD= v.CMD;
"CALL" SQLCMD;
END FOR;
END?
COMMANDTBL具有ID和CMD列,其中CMD具有SQL命令。 CMD為1024 VARCHAR。 在此測試中,它們是另一個表的2個插入
INSERT INTO TARGETTBL(TARGET, TARINT) VALUES ('TEST', 100);
INSERT INTO TARGETTBL(TARGET, TARINT) VALUES ('TEST2', 200);
例如。
我的問題是“通話”部分。 我有DB2 v9.7,但如果在較低版本上也有運行的解決方案,那就太好了。 我沒有找到任何有關如何運行此方法的指針,並且簡單的EXEC或EXECUTE無法正常工作。
謝謝您的幫助。
流浪者
您需要准備並執行語句,因為它們被視為“動態SQL”。
PREPARE myStmt FROM SQLCMD; EXECUTE myStmt;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.