0

我是 PostgreSQL 的新手;我曾经使用 Toad for Oracle。我运行以下代码,但无法使其工作。

begin
for prueba in
(select * from a_userid)
loop
update a_userid set user_id2 = nextval('seq_userid') 
where user_id = prueba.user_id;
commit;
end loop;
end;

错误是:

************ Error **********
ERROR: error de sintaxis en o cerca de «for»
SQL state: 42601
Character: 9

使用 Oracle,它曾经以这种方式工作。我不知道问题出在哪里。我也尝试过使用:

LANGUAGE 'plpgsql';

最后......但它根本没有改变。

4

1 回答 1

1

如果我正确理解您要实现的目标,则不需要循环。简单UPDATE就行

UPDATE a_userid
   SET user_id = nextval('seq_userid');

这是SQLFiddle演示

于 2013-06-14T03:28:06.177 回答