# 列定義

    単純列名 データ型
        [ 列毎の制約 ]*
        [ [ WITH ] DEFAULT 既定制約式
           |発番列仕様 ]
        [ 列毎の制約 ]*

データ型の仕様はデータ型にて説明されています。

列毎の制約と表毎の制約は、CONSTRAINT 節にて説明されています。

#### 列の既定値

既定値の定義として、いかなる表への参照もない既定制約式があります。 これに可能であるのは定数、日時の特殊変数、現在のスキーマ、ユーザ、nullです。

    既定制約式:
              NULL
            | CURRENT { SCHEMA | SQLID }
            | USER | CURRENT_USER | SESSION_USER
            | DATE
            | TIME
            | TIMESTAMP
            | CURRENT DATE | CURRENT_DATE
            | CURRENT TIME | CURRENT_TIME
            | CURRENT TIMESTAMP | CURRENT_TIMESTAMP
            | literal

Derbyのリテラル値についての詳細は、データ型を参照してください。

既定制約式におく値は、列と互換性のある型でなければなりません。加えて以下の制約があります。

- USER、CURRENT_USERやSESSION_USERを指定した場合、列の長さは少なくとも8である必要があります。
- CURRENT SCHEMAやCURRENT SQLIDを指定した場合、列の長さは少なくとも128である必要があります。
- 列が整数型である場合、既定値は整数のリテラルである必要があります。
- 列が10進の型である場合、既定値の桁数と精度は列のそれぞれの定義の範囲内である必要があります。

Parent topic: CREATE TABLE 文
Related reference
発番列仕様