Oracle では、CREATE SEQUENCE ステートメントを使用してシーケンスを追加できます。構文は、「CREATE SEQUENCE [user.]sequence_name [シーケンス番号間の間隔] [最初のシーケンス番号] [生成可能な最大値] です。 ] [シーケンスの最小値]"。
このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 12c、Dell G3 コンピューター。
CREATE SEQUENCE [user.]sequence_name 序列号之间的间隔 第一个序列号 可生成的最大值 序列的最小值
シーケンスは、一意の整数を生成するために使用できるデータベース オブジェクトです。シーケンスは通常、プライマリ コード値を自動的に生成するために使用されます。シーケンスの値は特別な Oracle プログラムによって自動的に生成されるため、シーケンスはアプリケーション層でのシーケンスの実装によって引き起こされるパフォーマンスのボトルネックを回避します。
Oracle シーケンスでは、複数のシーケンス番号を同時に生成でき、各シーケンス番号は一意です。シーケンス番号が生成されると、シーケンスはトランザクションのコミットまたはロールバックとは無関係にインクリメントされます。句を指定せずにデフォルトのシーケンスを設計できます。このシーケンスは、1 から始まり 1 ずつ増加する昇順シーケンスであり、上限はありません。
1) シーケンスコマンドの作成
CREATE SEQUENCE [user.]sequence_name [increment by n] [start with n] [maxvalue n | nomaxvalue] [minvalue n | nominvalue];
INCREMENT BY: シーケンス番号の間隔を指定します。値は正または負の整数にすることができますが、 0 にすることはできません。シーケンスは昇順です。この句を省略した場合、デフォルト値は 1 です。
開始文字列: 生成される最初のシリアル番号を指定します。昇順では、シーケンスは最小値より大きい値で開始でき、デフォルト値はシーケンスの最小値です。降順の場合、シーケンスは最大値より小さい値で開始でき、デフォルト値はシーケンスの最大値です。
MAXVALUE: シーケンスによって生成できる最大値を指定します。
NOMAXVALUE: 最大値を昇順の場合は 1027、降順の場合は -1 として指定します。
MINVALUE: シーケンスの最小値を指定します。
NOMINVALUE: 昇順の最小値を 1 として指定します。降順には最小値 -1026 を指定します。
2) シーケンス変更コマンド
ALTERSEQUENCE [user.]sequence_name [INCREMENT BY n] [MAXVALUE n| NOMAXVALUE ] [MINVALUE n | NOMINVALUE];
シーケンスを変更するには:
1) 将来のシーケンス値の増分を変更します。
2) 最小値または最大値を設定または解除します。
3) バッファシーケンスの数を変更します。
4) シーケンス番号が正しいかどうかを指定します。
5) シーケンス削除コマンド
拡張知識:
1. 同じグループに増分シーケンス番号を追加します
構文形式:
row_number() over(partition by 分组列 order by 排序列 desc)
2. 同じシリアル番号を同じグループに追加します
select id, dzid, dense_rank() over(order by dzid) 序号结果 from z_test;
推奨チュートリアル: "Oracle Video Tutorial"
以上がOracleでシーケンスを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。