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 に答える