【发布时间】:2020-12-26 01:07:31
【问题描述】:
create or replace function f() RETURNS void AS
declare
tableArray text[] := '{"ADDRESS","CONSISTENCY_CHECK","DEPARTMENT_SUPERVISION"}';
tableName CHARACTER VARYING;
value INTEGER ;
BEGIN
FOREACH tableName IN ARRAY tableArray
LOOP
select user_id from tableName where user_id=2631;
if found then
update tableName set user_id=2651 where user_id=2631;
delete from tableName where user_id=2631;
END loop;
end;
这是我在尝试执行 pgplsql 时遇到的错误:ERROR syntax error at or near "loop"
【问题讨论】:
-
函数体必须是字符串文字,通常使用美元引号。
-
我没有在函数体周围看到 $$ 块。
标签: arrays postgresql loops plpgsql