###前提・実現したいこと
Oracleでシーケンスを1から挿入するにはどうしたらよいのでしょうか?
また、シーケンスとは、通常、1つのテーブルに対して、それ専用のシーケンスを1個作るのが基本なのでしょうか?
###試したこと
oracle
1CREATE TABLE SEARCH_KEYWORD ( 2 ID NUMBER NOT NULL, 3 KEYWORD VARCHAR2(120) NOT NULL, 4 DT DATE DEFAULT SYSDATE, 5 PRIMARY KEY(ID) 6)
oracle
1CREATE SEQUENCE search_key_seq 2START WITH 1 3INCREMENT BY 1 4NOMAXVALUE;
ここで、下記を実行するとシーケンスが2から挿入されます。
oracle
1INSERT INTO SEARCH_KEYWORD (ID, KEYWORD) VALUES(search_key_seq.nextval, 'キーワード');
しかし、最初だけ調整のためにシーケンス1で下記を実行すると、次に上記を実行した際に、
「一意制約に反しています」というエラーが出てしまいます。
oracle
1INSERT INTO SEARCH_KEYWORD (ID, KEYWORD) VALUES(1, 'キーワード');
また、下記で実行すると、次のようなエラーが出ます。
oracle
1CREATE SEQUENCE search_key_seq 2START WITH 0 3INCREMENT BY 1 4NOMAXVALUE;
START WITHにMINVALUEより小さい値は指定できません。
###補足情報(言語/FW/ツール等のバージョンなど)
Oracle
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。