column-definition

Simple-column-Name [ DataType ]
    [ Column-level-constraint ]*
    [ [ WITH ] DEFAULT DefaultConstantExpression
       | generated-column-spec 
       | generation-clause 
    ]
    [ Column-level-constraint ]*

The syntax of DataType is described in Data types. The DataType can be omitted only if you specify a generation-clause. If you omit the DataType, the type of the generated column is the type of the generation-clause. If you specify both a DataType and a generation-clause, the type of the generation-clause must be assignable to DataType.

The syntaxes of Column-level-constraint and Table-level constraint are described in CONSTRAINT clause.

Column default

For the definition of a default value, a DefaultConstantExpression is an expression that does not refer to any table. It can include constants, date-time special registers, current schemas, users, roles, and null:

DefaultConstantExpression:
          NULL
        | CURRENT { SCHEMA | SQLID }
        | USER | CURRENT_USER | SESSION_USER | CURRENT_ROLE
        | DATE
        | TIME
        | TIMESTAMP
        | CURRENT DATE | CURRENT_DATE
        | CURRENT TIME | CURRENT_TIME
        | CURRENT TIMESTAMP | CURRENT_TIMESTAMP
        | literal

For details about Derby literal values, see Data types.

The values in a DefaultConstantExpression must be compatible in type with the column, but a DefaultConstantExpression has the following additional type restrictions:

Related reference
generated-column-spec
generation-clause