PL/PgSQL在给出错误的循环内调用函数 [英] PL/PgSQL calling a function inside a loop giving error
本文介绍了PL/PgSQL在给出错误的循环内调用函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面的代码在w_add_ax_extra(1, 'k', 'v')
上给出了错误,以前是w_add_ax_extra(some_id, kv.k, kv.v)
,我将其更改为k, v
以重现相同的错误
The code bellow is giving error on w_add_ax_extra(1, 'k', 'v')
previously it was w_add_ax_extra(some_id, kv.k, kv.v)
I changed it to k, v
to reproduce the same error
declare
kv record;
begin
-- Lines skipped
for kv in select * from (select (each(extras)).*) as f(k,v) loop
raise notice 'key=%,value=%',kv.k,kv.v;
w_add_ax_extra(1, 'k', 'v');
end loop;
-- Lines Skipped
end
我遇到语法错误,但无法理解我所缺少的内容
I am getting Syntax Error but could not understand what I am missing
ERROR: syntax error at or near "w_add_ax_extra"
LINE 1: w_add_ax_extra(1, 'k', 'v')
但是,如果我执行dummy = w_add_ax_extra(1, 'k', 'v')
,它会起作用.是的,此函数返回一个整数.但我不需要将其存储在这里.强制保留返回值吗?
However If I do dummy = w_add_ax_extra(1, 'k', 'v')
it works. Yes this function returns an integer. But I don't need to store it here. Is it mandatory to hold the return value ?
推荐答案
查看全文