修改表概述

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

总览

ALTER TABLE [ schema. ] table
[ memoptimize_read_clause ]
[ memoptimize_write_clause ]
[ alter_table_properties
   | column_clauses
   | constraint_clauses
   | alter_table_partitioning
   | alter_external_table
   | move_table_clause
   | modify_to_partitioned
   | modify_opaque_type
   | immutable_table_clauses
   | blockchain_table_clauses
  ]
[ enable_disable_clause
   | enable_disable_other_clause
  ] ...
;

memoptimize_read_clause:
[ { (MEMOPTIMIZE FOR READ) | (NO MEMOPTIMIZE FOR READ) } ]

memoptimize_write_clause:
[ { (MEMOPTIMIZE FOR WRITE) | (NO MEMOPTIMIZE FOR WRITE) } ]

alter_external_table:
{ add_column_clause
| modify_column_clauses
| drop_column_clause
| parallel_clause
| external_table_data_props
| REJECT LIMIT { integer | UNLIMITED }
| PROJECT COLUMN { ALL | REFERENCED }
}
  [ add_column_clause
  | modify_column_clauses
  | drop_column_clause
  | parallel_clause
  | external_table_data_props
  | REJECT LIMIT { integer | UNLIMITED }
  | PROJECT COLUMN { ALL | REFERENCED }
  ]...

move_table_clause:
MOVE
   [ filter_condition ]
   [ ONLINE ]
   [ segment_attributes_clause ]
   [ table_compression ]
   [ index_org_table_clause ]
   [ { LOB_storage_clause | varray_col_properties }... ]
   [ parallel_clause ]
   [ allow_disallow_clustering ]
   [ UPDATE INDEXES
     [ ( index { segment_attributes_clause
               | update_index_partition }
         [, index { segment_attributes_clause
                  | update_index_partition } ]...
       )
     ]
   ]

modify_to_partitioned:
MODIFY table_partitioning_clauses
  [ filter_condition ]
  [ ONLINE ]
  [ UPDATE INDEXES [ ( index { local_partitioned_index | global_partitioned_index | GLOBAL }
                     [, index { local_partitioned_index | global_partitioned_index | GLOBAL } ]... )
                   ]
  ]

modify_opaque_type:
MODIFY OPAQUE TYPE anydata_column
STORE ( type_name [, type_name ]... ) UNPACKED

immutable_table_clauses:
[ immutable_table_no_drop_clause ]
    [ immutable_table_no_delete_clause ]

blockchain_table_clauses:
 blockchain_drop_table_clause 
     blockchain_row_retention_clause 
     blockchain_hash_and_data_format_clause

enable_disable_clause:
{ ENABLE | DISABLE }
[ VALIDATE | NOVALIDATE ]
{ UNIQUE (column [, column ]...)
| PRIMARY KEY
| CONSTRAINT constraint_name
}
[ using_index_clause ]
[ exceptions_clause ]
[ CASCADE ]
[ { KEEP | DROP } INDEX ]

enable_disable_other_clause:
{ ENABLE | DISABLE }
   { TABLE LOCK | ALL TRIGGERS | CONTAINER_MAP | CONTAINERS_DEFAULT }

支持的范围

不支持的范围

  • 不支持 alter_external_table 子句修改外部表的特征,会报错。

  • 不支持 move_table_clause 子句将非分区表的数据或分区表的分区的数据重定位至新 segment,会报错。

  • 不支持 modify_to_partitioned 子句将非分区或分区表更改为指定特性的分区或复合分区表,会报错。

  • 不支持 modify_opaque_type 子句指示数据库存储指定的抽象数据类型或使用解压缩存储,会报错。

  • 不支持 immutable_table_clauses 子句修改不可变表的定义,会报错。

  • 不支持 blockchain_table_clauses 子句修改区块链表的定义,会报错。

  • 不支持 memoptimize_read_clause 子句提高高频数据查询操作的性能,会报错。

  • 不支持 memoptimize_write_clause 子句启用快速写入,会报错。

  • 不支持 enable_disable_clause 子句定义数据库如何使用约束,会报错。

  • 不支持 enable_disable_other_clause 子句定义启用或禁用与表关联的所有触发器、启用禁用表锁、启用或禁用查询 CONTAINER MAP 映射后的表、启用或禁用该 CONTAINERS 的表,会报错。