2016-11-17 3 views
0

シーケンシャルIDを使用するすべてのカラムの増分値を変更したい。どうしたらいいですか?postgresの複数のレコードからのシリアルフィールドの増分の更新

私は両方が失敗し、以下の2つのアプローチを試してみました:

UPDATE information_schema.sequences SET increment=1; 

それは、ビューのinformation_schema.sequencesので、これは動作しません。

私も同じように、最後にFROM追加するには、ALTER SEQUENCEを使用しようとしました:

ALTER SEQUENCE A.sequence_name INCREMENT BY 2 FROM (SELECT * FROM information_schema.sequences) AS A 

しかし、私は、構文エラーが発生します。

どうすればいいですか?

答えて

0

説明したようhere

docs

OR

ALTER SEQUENCE... RESTART WITH...からsetvalを使用してみてくださいEDITED TWICE

所有するスキーマ内のすべての順序を変更する方法サンプル:

do 
$$ 
declare 
i record; 
begin 
for i in (select * from information_schema.sequences) loop 
execute $e$ALTER SEQUENCE $e$||i.sequence_name||$e$ INCREMENT BY 2$e$; 
end loop; 
end; 
$$ 
; 
DO 
+0

setvalは増分を変更せず、現在の値だけを変更します... ALTER SEQUENCEはSELECT ... – alface

+0

の値を受け入れませんが、達成したいことはわかりません。 –

+0

申し訳ありませんが、私はより明確にするために私の質問を編集しました。 – alface

関連する問題