一般
この句のANSI形式については、DEFAULT句を参照してください。
数値範囲の制約を伴うWITH DEFAULT句を使用する場合には、その列に定義されたデータ型に割り当てられたシステムのデフォルト値はその範囲内である必要があります。
CREATE TABLE文の処理において、すべてのWITH DEFAULT句は、システム デフォルト値がデフォルトの定数値(constant_value)になるDEFAULT句に変換されます。
非互換性に関する注意
WITH DEFAULT句とDEFAULT句は、相互に排他的です。
WITH DEFAULT句のシステム値
システムのデフォルト値は、その列に対して定義したデータ型によって定まります。データ型とそれに関連するシステムのデフォルト値を以下のテーブルに示します。
| データ型 | システムのデフォルト |
|---|---|
| BIGINT | ゼロ |
| BYTE[(n)] | nが省略された場合、またはnが2進数0の場合、0 |
| BYTEINT | ゼロ |
| CHAR[(n)] | 以下に示すとおり、サーバー文字セットによって異なります。
|
| DATE | 現在の日付 |
| DECIMAL NUMERIC | ゼロ |
| DOUBLE PRECISION | ゼロ |
| FLOAT | ゼロ |
| INTEGER | ゼロ |
| INTERVAL DAY | INTERVAL ' 0 ' DAY |
| INTERVAL DAY TO HOUR | INTERVAL ' 0 00 ' DAY TO HOUR |
| INTERVAL DAY TO MINUTE | INTERVAL ' 0 00:00 ' DAY TO MINUTE |
| INTERVAL DAY TO SECOND | INTERVAL ' 0 00:00:00 ' DAY TO SECOND |
| INTERVAL HOUR | INTERVAL ' 0 ' HOUR |
| INTERVAL HOUR TO MINUTE | INTERVAL ' 00:00 ' HOUR TO MINUTE |
| INTERVAL HOUR TO SECOND | INTERVAL ' 00:00:00 ' HOUR TO SECOND |
| INTERVAL MINUTE | INTERVAL ' 0 ' MINUTE |
| INTERVAL MINUTE TO SECOND | INTERVAL ' 00:00 ' MINUTE TO SECOND |
| INTERVAL MONTH | INTERVAL ' 0 ' MONTH |
| INTERVAL SECOND | INTERVAL ' 0 ' SECOND |
| INTERVAL YEAR | INTERVAL ' 0 ' YEAR |
| INTERVAL YEAR TO MONTH | INTERVAL ' 0-00 ' YEAR TO MONTH |
| NUMBER | ゼロ |
| PERIOD(DATE) | デフォルト値は、CURRENT_DATEに設定された開始の引数とUNTIL_CHANGEDに設定された終了の引数のある期間値のコンストラクタを使用して、暗黙に設定されます。 |
| PERIOD(TIMESTAMP) | デフォルト値は、CURRENT_TIMESTAMP[(n)]に設定された開始の引数とUNTIL_CHANGEDに設定された終了の引数のある期間値のコンストラクタを使用して、暗黙に設定されます。 |
| REAL | ゼロ |
| SMALLINT | ゼロ |
| TIME | CURRENT_TIME |
| TIMESTAMP | CURRENT_TIMESTAMP |
| TIMESTAMP WITH TIME ZONE | CURRENT_TIMESTAMP |
| TIME WITH TIME ZONE | CURRENT_TIME |
| VARBYTE (n) | ' ' (NULL文字列) |
サポートされないデータ型
以下のデータ型で定義した列のWITH DEFAULT句は指定できません。
- BLOBまたはCLOB
- UDT
- PERIOD(TIME)