## Specifications of Values (extended_value_spec)

Values are specified (extended_value_spec) using one of the keywords DEFAULT or STAMP or by specifying the values (value spec: Literals, parameter specifications, key words and so on).

### Syntax

<extended_value_spec> ::= DEFAULT | STAMP | <value_spec>

<value_spec> ::= <literal>
| <parameter_spec>
| NULL
| USER | USERGROUP
| SYSDBA | CURRENT_SCHEMA | UID
| [<schema_name>.]<sequence_name>.NEXTVAL
| [<schema_name>.]<sequence_name>.CURRVAL
| <table_name>.CURRVAL
| DATE | TIME | TIMESTAMP
| UTCDATE | TIMEZONE | UTCDIFF
| TRUE | FALSE
| TRANSACTION

### Examples

SQL Tutorial, Number Generators for Tables

### Explanation

#### DEFAULT

DEFAULT identifies the default value for the column in a CREATE TABLE statement or ALTER TABLE statement. If one of these values is not defined, DEFAULT cannot be used to specify values.

The DEFAULT keyword can be used in the following SQL statements: INSERT statement, UPDATE statement

The DEFAULT keyword can be used in a DEFAULT predicate.

#### STAMP

The database system is capable of generating unique values. These comprise a series of consecutive numbers starting at X'000000000001'. The values are assigned in ascending order. There is no guarantee that a sequence of values is uninterrupted. The STAMP key word returns the next value generated by the database system.

The STAMP keyword can be used in the following SQL statements (only for columns of data type CHAR(n) BYTE where n>=8, see DEFAULT Specification): INSERT Statement, UPDATE Statement

If the user wants to find out the generated value before it is applied to a column, the following SQL statement must be used: NEXT STAMP statement

#### <value_spec>

##### NULL

Specification of the NULL value

##### USER | USERGROUP

Current user name or name of the user group to which the user calling the SQL statement belongs. If the user does not belong to a user group, the user name is displayed.

##### SYSDBA

Specification of the database system administrator

##### CURRENT_SCHEMA

Specification of current schema.

##### UID

Identification of the current user. This DEFAULT specification can only be specified with numeric data type and a minimum of 10 places before the decimal point.

##### [<schema_name>.]<sequence_name>.NEXTVAL | [<schema_name>.]<sequence_name>.CURRVAL

NEXTVAL specifies the next available value that is created by the implicit number generator, which was defined by the sequence [<schema_name>.]<sequence_name> .

CURRVAL shows the current value generated by the number generator [<schema_name>.]<sequence_name> within the database session.

See also:

CREATE SEQUENCE Statement (create_sequence_statement)

##### <table_name>.CURRVAL

Last value assigned in the current database session for the serial column in the table table_name.

##### DATE | TIME | TIMESTAMP

Current date, time, time stamp.

##### UTCDATE

Current UTC time stamp (Greenwich Mean Time)

##### TIMEZONE

Time difference in hours in the format hhmmss (in data type FIXED(6)) between your local time value and the UTC time value.

##### UTCDIFF

Time difference in hours (in data type FIXED(4,2)) between your local time and the UTC time value.

##### TRUE | FALSE

Corresponding value of a column of the data type BOOLEAN

##### TRANSACTION

Identification of the current transaction. This is a value of data type CHAR(6) BYTE.