首页 > 解决方案 > 在 PgAdmin 中的函数外执行 FOR 循环失败,并出现“在“for”处或附近出现语法错误”

问题描述

为什么我无法使用 F5(运行)在 PgAdmin 中执行以下操作:

for temprow in 
   select * from recalls_t where user_id in (select id from users_t where user_name like '%PRF15D%')
loop
   for r in 1..50
   loop
       insert into events_t (id, gui_event_id)
                   values (nextval('seq'), temprow.id);
    end loop;
end loop;               

错误:

ERROR:  syntax error at or near "for"
LINE 2: for temprow in 
        ^
SQL state: 42601
Character: 7

我的目标是在 FOR 循环中插入虚拟行。我不需要函数或其他任何东西。

标签: postgresql

解决方案


因为plpgsql不是可执行的SQL。您想使用该DO语句。有关文档,请查看此处:https ://www.postgresql.org/docs/current/sql-do.html

您可以像“一次性功能”一样使用它。


推荐阅读