【问题标题】:How to get DB2 9.7 cursor value in for loop where returned value is a string如何在返回值为字符串的 for 循环中获取 DB2 9.7 游标值
【发布时间】:2013-03-04 09:46:26
【问题描述】:

我有一个循环,例如

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

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

【问题讨论】:

    标签: stored-procedures db2


    【解决方案1】:

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

    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;
    

    【讨论】:

      猜你喜欢
      • 2016-10-26
      • 1970-01-01
      • 2021-11-04
      • 1970-01-01
      • 2020-03-30
      • 2011-11-25
      • 2022-11-30
      • 2019-02-20
      • 1970-01-01
      相关资源
      最近更新 更多