---
title: "增加列和列属性 | OceanBase 文档中心"
description: "增加列和列属性 本文为您介绍迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 租户时，ALTER TABLE DDL 增加列和列属性的支持转换范围。 总览 add_column_clause: ADD ( {column_definition | virtual_column_defini…"
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 4.2.0 企业版

# 增加列和列属性

更新时间：2023-08-18 09:52:19

本文为您介绍迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 租户时，ALTER TABLE DDL 增加列和列属性的支持转换范围。

## 总览

```sql
add_column_clause:
ADD
   ( {column_definition | virtual_column_definition
      [, column_definition | virtual_column_definition] ...
     } )
   [ column_properties ]
   [ ( out_of_line_part_storage [, out_of_line_part_storage]... ) ]

column_definition:
column [ datatype [ COLLATE column_collation_name ] ]
  [ SORT ] [ VISIBLE | INVISIBLE ]
  [ DEFAULT [ ON NULL ] expr | identity_clause ]
  [ ENCRYPT encryption_spec ]
  [ { inline_constraint }...
  | inline_ref_constraint
  ]

virtual_column_definition:
column [ datatype [ COLLATE column_collation_name ] ]
  [ VISIBLE | INVISIBLE ]
  [ GENERATED ALWAYS ] AS (column_expression) [ VIRTUAL ]
  [ evaluation_edition_clause ] [ unusable_editions_clause ]
  [ inline_constraint [ inline_constraint ]... ]

column_properties:
{ object_type_col_properties
| nested_table_col_properties
| { varray_col_properties | LOB_storage_clause }
    [ (LOB_partition_storage [, LOB_partition_storage ]...) ]
| XMLType_column_properties
}...

out_of_line_part_storage:
PARTITION partition
  { nested_table_col_properties | LOB_storage_clause | varray_col_properties }
    [ nested_table_col_properties | LOB_storage_clause | varray_col_properties ]...
[ ( SUBPARTITION subpartition
   { nested_table_col_properties | LOB_storage_clause | varray_col_properties }
     [ nested_table_col_properties | LOB_storage_clause | varray_col_properties
     ]...
    [, SUBPARTITION subpartition
     { nested_table_col_properties | LOB_storage_clause | varray_col_properties }
       [ nested_table_col_properties | LOB_storage_clause | varray_col_properties
       ]...
    ]...
  )
]

```

## 支持的范围

- 支持增加列，详情请参见 [普通列](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-1000000000091619)。示例如下：

  ```sql
  ALTER TABLE T ADD C1 NUMBER;

  ```
 - 支持增加虚拟列，详情请参见 [虚拟列](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-1000000000091617)。示例如下：

  ```sql
  ALTER TABLE T ADD C1 NUMBER GENERATED ALWAYS AS (C+1);

  ```
 - 支持增加列的 `VISIBLE | INVISIBLE` 属性。示例如下：

  ```sql
  ALTER TABLE T ADD C1 NUMBER INVISIBLE;

  ```
 - 支持增加列的行内约束 `not null`、`default value`。示例如下：

  ```sql
  ALTER TABLE T ADD C1 NUMBER NOT NULL DEFAULT 1;

  ```
 - 支持同时添加多个列。示例如下：

  ```sql
  ALTER TABLE T ADD (C1 NUMBER, C2 NUMBER, C3 NUMBER);
  ALTER TABLE T ADD (C1 NUMBER) ADD (C2 NUMBER) ADD (C3 NUMBER);

  ```

## 不支持的范围

- 不支持增加没有指定字段类型的虚拟列，会报错。
 - 不支持 `identity_clause` 子句定义自增列，会报错。

## 忽略的属性

#### 说明

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

- `out_of_line_part_storage` 子句为分区表中新增列指定存储属性，会忽略该 option。
 - 会忽略新增行内约束 `unique`、`primary key`、`check` 和外键。
 - `constraint_state` 约束状态属性，会忽略该 option。
 - 不支持 `constraint name` 约束别名，会忽略该 option。
 - 不支持 `column_properties` 子句修改对象类型、嵌套表、varray 或 LOB 列的存储特征，会忽略该 option。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
