create_table_statement

The SQL statement CREATE TABLE (create_table_statement) is known in MaxDB, but has different syntax and semantics to Oracle (CREATE TABLE statement).

·        The specification of PCTFREE <integer>, PCTUSED <integer>, INITRANS <integer>, MAXTRANS <integer>, TABLESPACE <tablespace>, STORAGE <storage clause>, and CLUSTER <cluster> is allowed by the syntax, but is meaningless in MaxDB.

·        MaxDB ignores the specification of DISABLE.

·        If a subquery is specified, MaxDB does not generate NOT NULL constraints.

·        In Oracle, each table row has a unique address that can be accessed as ROWID. The row can be addressed directly by using the ROWID. The ROWID also exists if the table has a key. Such an address is not available in MaxDB, because the rows are always addressed using the key.
Table option ROWID can be used to better imitate Oracle behavior. This has the following effect: The table implicitly received key column ROWID from data type RAW(8). This column is usually invisible and can only be selected using the ROWID function.
- If the CREATE TABLE statement contains a key_definition, an index with the UNIQUE attribute that corresponds to the key definition is generated.

In this way, a row has a ROWID and can be selected with the ROWID and the key.