PL / SQL:在execute immediate中使用参数

时间:2018-03-06 13:32:51

标签: plsql execute-immediate

我有这样的功能(不幸的是,我不能改变它来发送一个数组而不是多个参数):

CREATE FUNCTION (p1_ IN OUT VARCHAR2(100), p2_ IN OUT VARCHAR2(100), <...>, p10_ IN OUT VARCHAR2(100)
IS
BEGIN
    gather_value(p1_);
    gather_value(p2_);
    <...>
    gather_value(p8_);
END;

为了清理一下,我宁愿更改身体,如下所示:

IS
stmt VARCHAR2(1000);
BEGIN
    FOR i IN 1 .. 8
    LOOP
        stmt := 'gather_value(p:1_);'
        EXECUTE IMMEDIATE stmt USING i;
    END LOOP;
END;

但是,在这种情况下,没有找到这样的参数。 有没有办法解决它?

0 个答案:

没有答案