【发布时间】:2021-03-20 17:46:32
【问题描述】:
我正在尝试编写这样的 For 循环:
DO
$$
DECLARE
rec TEXT ;
rec1 record ;
BEGIN
FOR rec IN
select my_schema_name from public.table1
loop
PERFORM set_config('search_path', rec,false);
execute 'select * from table2 where status = 'NEW' into rec1' ;
RAISE NOTICE 'Record is : %', rec1;
END LOOP;
END;
$$
LANGUAGE plpgsql;
但我收到语法错误:
错误:在 "' into rec1'" 处或附近出现语法错误
有人可以帮助我编写具有 WHERE 子句并在 For 循环中执行的 Select 语句的正确语法吗?
【问题讨论】:
-
把
'select * from table2 where status = 'NEW' into rec1'写成'select * from table2 where status = ''NEW'' into rec1' -
没有任何理由使用
EXECUTE声明。
标签: database postgresql select plpgsql