シーケンスと列: 新しいシーケンスと列はデフォルトで NOORDER を使用(保留中)。¶
新しいシーケンスを作成、または新しい自動インクリメント列を作成するときに、 ORDER または NOORDER パラメーターを指定して、シーケンスが新しい値を昇順に生成できるかどうかを指定できます。
ORDER は、シーケンスまたは自動増分列に対して生成される値が昇順であることを指定します。
NOORDER は、値が昇順であることが保証されないことを指定します。
ORDER または NOORDER を指定しない場合は、デフォルト値が使用されます。このデフォルト値は変化しています。
- 変更前
ORDER または NOORDER を指定せずに新しいシーケンスを作成した場合、デフォルトで ORDER が使用されます。
新しいテーブル列を作成し、 ORDER または NOORDER を指定せずに AUTOINCREMENT を指定した場合、デフォルトで ORDER が使用されます。
- 変更後
ORDER または NOORDER を指定せずに新しいシーケンスを作成した場合、デフォルトで NOORDER が使用されます。
新しいテーブル列を作成し、 ORDER または NOORDER を指定せずに AUTOINCREMENT を指定した場合、デフォルトで NOORDER が使用されます。
次の点に注意してください。
これらのデフォルト値の変更は、既存のシーケンスや既存の自動インクリメント列には影響しません。
この変更は、動作変更が有効になっているときに作成された新しいシーケンスと列にのみ影響します。
ORDER プロパティと NOORDER プロパティは、シーケンスと自動インクリメント列の生成値の一意性には影響しません。
デフォルトを ORDER に戻すには、セッションの NOORDER_SEQUENCE_AS_DEFAULT パラメーターを FALSE に設定します。
さらに、 GET_DDL 関数の出力は、 START 1 INCREMENT 1が設定されている自動インクリメントされる列のために変化します。
- 変更前
GET_DDL が返す列定義には AUTOINCREMENT キーワードのみが含まれます(例えば、
column name data type AUTOINCREMENT
)。- 変更後
GET_DDL が返す列定義には、 START プロパティ、 INCREMENT プロパティ、 ORDER / NOORDER プロパティ(例えば、
column name data type AUTOINCREMENT START 1 INCREMENT 1 NOORDER
)を含むすべてのプロパティが含まれます。
最後に、シーケンスが ORDER プロパティか NOORDER プロパティかを判断するには、次のコマンドとビューを使用できます。
シーケンスの場合、次のいずれかを使用できます。
SHOW SEQUENCES コマンド
DESCRIBE SEQUENCE コマンド
自動インクリメントの列については、次のいずれかをチェックすることができます。
SHOW COLUMNS コマンドの出力の
autoincrement
列。COLUMNS ビュー(INFORMATION_SCHEMA 内)の
identity_ordered
列。
シーケンスや自動インクリメントの列の場合、 GET_DDL 関数が返すシーケンスや列の定義の ORDER や NOORDER プロパティをチェックすることができます。
参照: 1483