Background documentationcreate_table_statement Locate this document in the navigation structure


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

  • However, the specifications PCTFREE <integer>, PCTUSED <integer>, INITRANS <integer>, MAXTRANS <integer>, TABLESPACE <tablespace> STORAGE <storage clause>, and CLUSTER <cluster> have no meaning for SAP MaxDB, but are accepted syntactically.

  • The specification DISABLE is ignored by SAP MaxDB.

  • If a subquery is specified, SAP 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 SAP MaxDB, because the rows are always addressed using the key.

    The table option ROWID is provided for displaying the ORACLE behavior and has the following effect:

    - The table is implicitly assigned the key column ROWID with 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 implicitly generated.

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