簡體   English   中英

從DB2中存儲過程的結果集中執行SQL命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM