《Oracle命令语法速查》【 ALTER TABLE 】

テーブル(表)を変更する


ALTER TABLE [ スキーマ . ] 表名 →
→┬┬ ADD ( ┬ 列名 <DATATYPE句> (*1) ───────────────┬ ) ┬┬→
  ││       │[ 表の列名、型、初期値、REF値、列制約を指定する   ] │   ││
  ││       ├<TABLE CONSTRAINT句>  ────────────────┤   ││
  ││       │[ 表制約を指定する ]                                │   ││
  ││       ├<TABLE REF句>   ───────────────────┤   ││
  ││       │[ REF値を指定する ]                                 │   ││
  ││       └ ← , ────────────────────────┘   ││
  ││[ 表の列、制約、REF を追加する                             ]      ││
  │├ MODIFY  ( ┬ 列名 [ <DATATYPE句> ] (*1) ┬ ) ───────────┤│
  ││           └ ← , ───────────┘                         ││
  ││[ 既存の列を変更する                                       ]      ││
  │├ <SEGMENT ATTRIBUTES句>   ─────────────────────┤│
  ││[ 表領域の変更は出来ない                                   ]      ││
  │├┬<LOB STORAGE句> ┬────────────────────────┤│
  ││└ ← , ─────┘                                                ││
  │├┬ <MODIFY LOB STORAGE句> ┬────────────────────┤│
  ││└ ← , ─────────┘                                        ││
  │├ NESTED TABLE 列名 STORE AS 格納表名  ───────────────┤│
  ││[ 指定した列に対する格納表(ネスト表)を指定する ]                  ││
  │├ DROP ┬ UNIQUE ( ┬ 列名 ┬ ) [ CASCADE ]  ───┬────────┤│
  ││      │          └ ← , ┘                      │                ││
  ││      │[ 指定した列の UNIQUE 制約を削除する ]  │                ││
  ││      ├ PRIMARY KEY  [ CASCADE ] ────────┤                ││
  ││      │[ 主キー制約を削除する                 ]│                ││
  ││      └ CONSTRAINT 制約名 [ CASCADE ]  ─────┘                ││
  ││        [ 表に従属する全てのトリガーを削除する ]                  ││
  ││        [   CASCADE : 指定した制約に依存する整合性制約を削除する ]││
  │├<ALLOCATE EXTENT句>   ───────────────────────┤│
  │├<DEALLOCATE UNUSED句> ───────────────────────┤│
  │├ CACHE  ──────────────────────────────┤│
  ││[ 読み込み値をバッファ内で最後に使用された端に配置する     ]      ││
  │├ NOCACHE  ─────────────────────────────┤│
  ││[ 読み込み値をバッファ内で最も使用されていない端に配置する ]      ││
  │└ ← ────────────────────────────────┘│
  ├ RENAME TO 新表名 ───────────────────────────┤
  │[ 表の名前を変更する ]                                                │
  ├┬──────────────────────────────────┬┤
  │├<SEGMENT ATTRIBUTES句>  ──────────────────────┤│
  │├ PCTHRESHOLD 数値 ─────────────────────────┤│
  ││[ 索引構成表用の領域をパーセントで指定する ]                      ││
  │├ [ INCLUDING 列名 ] OVERFLOW [ <SEGMENT ATTRIBUTES句> ] ──────┤│
  ││[ 指定したしきい値を超えるデータを指定したセグメントに格納する   ]││
  ││[   INCLUDING : 指定した列以降の列を指定したセグメントに格納する ]││
  │└ ← ────────────────────────────────┘│
  ├<ADD PARTITION句>   ──────────────────────────┤
  ├<MOVE PARTITION句>  ──────────────────────────┤
  ├ RENAME ┬ PARTITION パーティション名  ───┬ TO 新名称 ───────┤
  │        └ SUBPARTITION サブパーティション名 ┘                         │
  ├<SPLIT PARTITION句> ──────────────────────────┤
  ├<EXCHANGE PARTITION句>  ────────────────────────┤
  ├<TRUNCATE PARTITION句>  ────────────────────────┤
  ├<MODIFY PARTITION句>  ─────────────────────────┤
  ├ DROP PARTITION パーティション名  ───────────────────┤
  │[ 指定したパーティションを削除する                         ]          │
  └ MODIFY DEFAULT ATTRIBUTES <SEGMENT ATTRIBUTES句> ───────────┘
    [ パーティションのデフォルト属性を指定する                 ]
→[ <PARALLEL句> ] ┬─────────────────────────┬ ;
                   ├┬ <ENABLE句>   ────────────────┬┤
                   │└ ENABLE TABLE LOCK  ─────────────┘│
                   │[ DML, DDLロックを有効にする(パラレルサーバー) ]│
                   ├┬ <DISABLE句>  ────────────────┬┤
                   │└ DISABLE TABLE LOCK ─────────────┘│
                   │[ DML, DDLロックを有効にする(パラレルサーバー) ]│
                   └ ← ───────────────────────┘