5.2.8 列の既定値の設定(DEFAULT句)
データの追加や更新時に,決まった値を自動的に格納したい場合は,列の既定値の設定を検討してください。列の既定値とは,次のときに列に格納されるデフォルトの列値のことです。
-
INSERT文による行の挿入時
次の場合に列の既定値が格納されます。
-
挿入値にDEFAULTを指定した場合
-
DEFAULT VALUESを指定した場合
-
データを挿入する列の列名の指定を省略した場合(すべての列名を省略した場合を除きます)
-
ビュー表に行を挿入した場合(ビュー表の列に対応しない基表の列には,列の既定値が格納されます)
-
-
UPDATE文による列値の更新時
更新値にDEFAULTを指定した場合に,列の既定値が格納されます。
-
adbimportコマンドによるデータインポート時
adbimportコマンドでデータをインポートする際,入力データファイルのフィールドデータが空文字列の場合に,列の既定値が格納されます。
ただし,インポートオプションadb_import_null_stringにNULLを指定した場合は,列の既定値ではなくナル値が格納されます。
列の既定値を設定する場合は,CREATE TABLE文でDEFAULT句を指定します。DEFAULT句については,マニュアルHADB SQLリファレンスのDEFAULT句を参照してください。
- メモ
-
DEFAULT句を省略した場合,ナル値が列の既定値になります。
DEFAULT句を指定して列の既定値を設定したときのデータの格納例を次の図に示します。
|
- [説明]
-
-
PUR-NUM列にDEFAULT句を指定して,数データの0を列の既定値として定義します。
-
PUR-DATE列にDEFAULT句を指定して,日付を列の既定値として定義します。CURRENT_DATEは,INSERT文またはUPDATE文が実行された日,またはadbimportコマンドが起動された日を列の既定値とする指定です。
-
挿入対象列にPUR-NUM列が省略されているため,PUR-NUM列には列の既定値(数データの0)が格納されます。
-
挿入値にDEFAULTが指定されているため,PUR-DATE列には列の既定値(INSERT文が実行された日)が格納されます。
-
列の既定値として設定できる値については,マニュアルHADB SQLリファレンスのDEFAULT句を参照してください。