1

一部のデータをスキーマにインポートし、すべてのテーブルに対して 1 つのシーケンスを作成しました。私の古いアプリでは、シーケンスは約 1000 でしたが、この新しいシーケンスは 4 から始まるため、新しい行に入ろうとすると競合が発生します。シーケンスを更新する方法はありますか、またはデータベースの作成中にシーケンスを特定の番号に設定する方法はありますか? create-drop を実行してデータを再度インポートしてもかまいません。基本的には、シーケンスを 1000 から開始するように設定したいだけです。ありがとうございます。

4

2 に答える 2

3

増分を増やし、シーケンスにアクセスしてから増分をリセットできるはずです。次に例を示します。

alter sequence [sequence name]
increment by [desired value minus current value];

select [sequence name].nextval from dual;

alter sequence [sequence name]
increment by 1;

この構文はhttp://www.techonthenet.com/oracle/sequences.phpから取得しました。

于 2012-07-30T19:55:37.913 に答える
1

シーケンスを作成するときに、いつでもシーケンスの開始番号を設定できます。

CREATE SEQUENCE my_sequence
    MINVALUE 1000
    START WITH 1000
    INCREMENT BY 1;
于 2012-07-30T19:54:34.280 に答える