plpgsql $[position] 是相对的?

plpgsql $[position] is relative?

create or replace function exc_using(int, text) returns int as
    $$
        declare i int;
        begin
        for i in execute 'select * from generate_series(1,) ' using +1 loop
            raise notice '% ', i;
            raise notice 'i + i *3: % ', i + i * 3;
        end loop;
        execute 'select  +  * 3 + length() '
            into i using , ;
        return i;
        end
    $$
language plpgsql;

好像是A

    execute 'select  +  * 3 + length() '
        into i using , ;
    return i;

等同于: B

    execute 'select  +  * 3 + length() '
        into i using , ;
    return i;

我的看法是 $2 绝对引用数据类型为文本的函数第二个参数。但似乎 plpgsql $[position] 是相对的。但是我无法获得此边缘情况的手动参考。

当然是相对的。他们还会是什么?但它们与什么有关?

在EXECUTE 字符串中,$1 和$2 是相对于USING 的。在外面,它们是相对于函数参数的。