删除列操作

本文为您介绍迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 租户时,ALTER TABLE DDL 删除列操作的支持转换范围。

总览

drop_column_clause:
{ SET UNUSED { COLUMN column
             | (column [, column ]...)
             }
  [ { CASCADE CONSTRAINTS | INVALIDATE }... ]
  [ ONLINE ]
| DROP { COLUMN column
       | (column [, column ]...)
       }
  [ { CASCADE CONSTRAINTS | INVALIDATE }... ]
  [ CHECKPOINT integer ]
| DROP { UNUSED COLUMNS
       | COLUMNS CONTINUE
       }
  [ CHECKPOINT integer ]
}

支持的范围

支持删除列,并且支持同时删除多个列。示例如下:

ALTER TABLE T DROP COLUMN C;
ALTER TABLE T DROP (C1,C2);

不支持的范围

  • 不支持 SET UNUSED 标记删除,会报错。

  • 不支持 DROP UNUSED COLUMNS 从表中删除当前标记为未使用的所有列,会报错。

  • 不支持 DROP COLUMNS CONTINUE 从被中断的点继续删除列操作,会报错。

忽略的属性

说明

如果同步的 DDL 中包含以下属性的定义,则这些属性不会被解析和转换,最终会被忽略。

设置 CHECKPOINT,会忽略。