【发布时间】:2014-04-02 16:46:34
【问题描述】:
我正在尝试使用FOR 循环:
create or replace function update_revisions() returns trigger as
$$
begin
declare col_name declare col_name information_schema.columns%ROWTYPE;
for col_name in
select column_name from information_schema.columns
where table_name='t'
loop
insert into debug_table values (col_name);
end loop;
end;
$$
language plpgsql;
但它总是说:
'for' 处或附近的语法错误
有人可以给我提示一下它有什么问题吗?
【问题讨论】:
-
声明部分必须放在
begin关键字之前,而不是之后,请参阅此处的一般语法:postgresql.org/docs/9.3/static/plpgsql-structure.html 和一些示例:postgresql.org/docs/9.3/static/plpgsql-declarations.html -
你为什么要使用循环?
INSERT INTO ... SELECT ...形式的 INSERT 应该足够了。
标签: sql postgresql loops plpgsql