0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle システム生成の順序は変更できません

Last updated at Posted at 2024-10-16

すぐに忘れてよく詰まるので備忘録。

Oracleのテーブルに自動採番列を作成するとき、同時にシーケンスオブジェクトが自動生成される。

このシーケンスの開始値をリセットするには。

通常のシーケンスオブジェクトはALTER SEQUENCE文でリセットできるが、自動生成されたシーケンスオブジェクトにALTER SEQUENCE文を実行した場合、「システム生成の順序は変更できません」というエラーが出てしまう。

ではどうすればよいか。

システムによって自動生成されたシーケンスはALTER TABLE文でリセットできる。
自動生成されたシーケンスオブジェクトを直接変更することはできないが、自動採番列の定義を変更する形で間接的に変更できる。

(例) tab1テーブルのid列のシーケンスの開始値を1からに変更する

ALTER TABLE tab1 MODIFY (id GENERATED ALWAYS AS IDENTITY (START WITH 1)) ;

参考
https://qiita.com/plusultra/items/ff1725d5e4f96ad60e3d

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?