Stored procedures 如何在返回值为字符串的for循环中获取DB29.7游标值

Stored procedures 如何在返回值为字符串的for循环中获取DB29.7游标值,stored-procedures,db2,Stored Procedures,Db2,我有一个环 DECLARE SQL VARCHAR(1024); FOR V AS CUR1 CURSOR FOR (SELECT 'Select * from My_Table' from ... ) DO SET SQL = CUR1; PREPARE S1 FROM SQL; EXECUTE S1; END FOR; 这似乎不起作用。当for循环中的光标指向返回的某一行时,我成功地完成了类似的操作,我可以访问该值,例如: SET SQL = CUR1.TABNA

我有一个环

DECLARE SQL VARCHAR(1024);

FOR V AS CUR1 CURSOR FOR (SELECT 'Select * from My_Table' from ... )
DO
    SET SQL = CUR1;
    PREPARE S1 FROM SQL;
    EXECUTE S1;
END FOR;
这似乎不起作用。当for循环中的光标指向返回的某一行时,我成功地完成了类似的操作,我可以访问该值,例如:

SET SQL = CUR1.TABNAME

但是现在返回的值是一个字符串,我不知道如何从游标获取它。有什么想法吗

您只需在查询中指定列名:

DECLARE SQL VARCHAR(1024);

FOR V AS CUR1 CURSOR FOR (SELECT 'drop table My_Table' as malicious_code from...)
DO
    SET SQL = CUR1.malicious_code;
    PREPARE S1 FROM SQL;
    EXECUTE S1;
END FOR;

您只需在查询中指定列名:

DECLARE SQL VARCHAR(1024);

FOR V AS CUR1 CURSOR FOR (SELECT 'drop table My_Table' as malicious_code from...)
DO
    SET SQL = CUR1.malicious_code;
    PREPARE S1 FROM SQL;
    EXECUTE S1;
END FOR;