SQL 文CREATE TABLE (create_table_statement) は MaxDB に存在しますが、構文とセマンティックは Oracle の場合とは異なります(CREATE TABLE 文)。
● PCTFREE <整数>、PCTUSED <整数>、INITRANS <整数>、MAXTRANS <整数>、TABLESPACE <表領域>、STORAGE <storage 句>、および CLUSTER <クラスタ> の指定は、構文的には使用できますが、MaxDB では使用できません。
● DISABLE の指定は無視されます。
● サブクエリが指定された場合、MaxDB では NOT NULL 制約は生成されません。
●
Oracle では、各テーブル行にROWID としてアクセス可能な一意なアドレスがあります。ROWID
を使用して、行を直接アドレスすることができます。ROWID
は、テーブルにキーがある場合にも存在します。MaxDB
では、行は常にキーを使用してアドレスされるため、このようなアドレスは使用できません。
テーブルオプション ROWID
を使用することによって、Oracle
と非常に似た動作を実現することができます。これにより、以下のような影響が発生します。テーブルは、データ型 RAW(8)
からキー列 ROWID
を暗黙的に受け取ります。この列は、通常は非表示であり、ROWID
関数を使用することによってのみ選択することができます。
CREATE TABLE 文に key_definitionが含まれている場合、キー定義に対応した UNIQUE 属性を持つ索引が生成されます。
このようにして、行に ROWID
が指定され、ROWID
とキーを使用して行を選択することができます。