批量添加列 (ADD)
ALTER TABLE table_name ADD (
col1 datatype [DEFAULT expr] [CONSTRAINT ...],
col2 datatype,
col3 datatype,
...
);
實戰範例
ALTER TABLE PI_BDSURL ADD (
PROVINCECONFIRMRESULTSTATEID VARCHAR2(20),
PROVINCECONFIRMRESULTSTATE VARCHAR2(40),
PROVINCECONFIRMATTITUDE VARCHAR2(400),
PROVINCECONFIRMER VARCHAR2(20),
PROVINCECONFIRMDATE DATE
);
批量刪除列 (DROP)
ALTER TABLE table_name DROP (
col1,
col2,
col3,
...
) [CASCADE CONSTRAINTS];
實戰範例
ALTER TABLE PI_BDSURL DROP (
PROVINCECONFIRMRESULTSTATEID,
PROVINCECONFIRMRESULTSTATE,
PROVINCECONFIRMATTITUDE,
PROVINCECONFIRMER,
PROVINCECONFIRMDATE
);
關鍵提示
- 括號 **必須成對**,列之間用逗號分隔。
CASCADE CONSTRAINTS 可選,自動刪除涉及該列的約束 (FK、CK 等),防止報錯中斷。
- 12c+ 支持
DROP COLUMN ... ONLINE (需 Enterprise Edition),刪除過程中表可繼續 DML,無獨占鎖。
- 大表刪列建議低峰期操作,並監控
UNDO/REDO 產生量。