我是PostgreSQL的新手;我曾经和Toad合作过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';
最后......但它根本没有改变。
答案 0 :(得分:1)
如果我理解你正在努力实现的目标,那么就不需要循环了。简单的UPDATE
会做到这一点
UPDATE a_userid
SET user_id = nextval('seq_userid');
这是 SQLFiddle 演示