ルールと制限を以下に示します。
- DEFAULT関数は、名前によってリレーション列を識別する単一の式を使用します。この関数は、列の現行デフォルト値に等しい値と評価されます。列のデフォルト値が現行の組み込みシステム関数として指定される場合、DEFAULT関数は、リクエストの実行時にシステム変数の現行値と評価されます。
この結果として、DEFAULT関数のデータ型は、デフォルトがヌルでない場合、デフォルトとして指定される定数またはビルトイン関数のデータ型になります。デフォルトがヌルの場合、DEFAULT関数のデータ型は、デフォルトのリクエスト対象である列または式のデータ型と同じになります。
- DEFAULT関数は、DEFAULTまたはDEFAULT(column_name)として指定できます。列名が指定されていない場合、システムは列を文脈に基づいて派生させます。列の文脈で派生できない場合、エラーが返されます。
- SELECT文の選択リストに、列名を指定したDEFAULT関数を指定することができます。DEFAULT関数は、指定された列のデフォルト値と評価されます。
- DEFAULT関数では、式リスト内に列名が含まれている必要があります。
- 列のデフォルト値を決定する場合、文のFROM句を指定せずに値を選択できます。
FROM句が指定されていないSELECT文を指定すると、システムはテーブル内の行の数には関係なく、常に列のデフォルト値が含まれた単一の行のみを返します。これは、TYPE関数の動作と同じです。
- 入力引数としてDEFAULT関数に渡された列に、関連付けられた明示的なデフォルト値がない場合、DEFAULT関数はnullと評価されます。
SELECT文でのDEFAULT関数の使用については、以下を参照してください。