create or replace function exc_using(int, text) returns int as
$$
declare i int;
begin
for i in execute 'select * from generate_series(1,$1) ' using $1+1 loop
raise notice '% ', i;
raise notice 'i + i *3: % ', i + i * 3;
end loop;
execute 'select $2 + $2 * 3 + length($1) '
into i using $2, $1;
return i;
end
$$
language plpgsql;似乎A
execute 'select $2 + $2 * 3 + length($1) '
into i using $2, $1;
return i;与:B相同。
execute 'select $1 + $1 * 3 + length($2) '
into i using $1, $2;
return i;我的建议是$2绝对引用函数第二个论点,即数据类型是文本。但是看起来plpgsql $position是相对的。但我无法获得这个边缘案件的人工参考资料。
发布于 2022-05-16 13:47:38
他们当然是亲戚。他们还会是什么?但它们相对于什么呢?
在执行字符串中,$1和$2相对于使用。在外部,它们相对于函数参数。
https://stackoverflow.com/questions/72257383
复制相似问题