Topik ini menjelaskan ruang lingkup konversi yang didukung dari operasi DDL ALTER TABLE untuk menambahkan kolom dan atribut kolom selama migrasi data dari database Oracle ke tenant Oracle di OceanBase Database.
Sintaksis
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
]...
]...
)
]Operasi yang Didukung
Menambahkan kolom reguler didukung. Untuk informasi lebih lanjut, lihat Kolom Reguler. Contoh kode:
ALTER TABLE T ADD C1 NUMBER;Menambahkan kolom virtual didukung. Untuk informasi lebih lanjut, lihat Kolom Virtual. Contoh kode:
ALTER TABLE T ADD C1 NUMBER GENERATED ALWAYS AS (C+1);Menambahkan atribut visibilitas ke kolom dengan menggunakan opsi
VISIBLE | INVISIBLEdidukung. Contoh kode:ALTER TABLE T ADD C1 NUMBER INVISIBLE;Menambahkan batasan inline
NOT NULLdanDEFAULT VALUEdidukung. Contoh kode:ALTER TABLE T ADD C1 NUMBER NOT NULL DEFAULT 1;Menambahkan beberapa kolom sekaligus didukung. Contoh kode:
ALTER TABLE T ADD (C1 NUMBER, C2 NUMBER, C3 NUMBER); ALTER TABLE T ADD (C1 NUMBER) ADD (C2 NUMBER) ADD (C3 NUMBER);
Operasi yang Tidak Didukung
Menambahkan kolom virtual tanpa menentukan tipe bidang tidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.
Mendefinisikan kolom penambahan otomatis dengan menggunakan klausa
identity_clausetidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.
Klausa dan Opsi yang Diabaikan
Klausa dan opsi berikut akan diabaikan dan tidak akan diselesaikan atau dikonversi ketika ditentukan dalam pernyataan DDL yang disinkronkan.
Opsi
out_of_line_part_storageuntuk menentukan karakteristik penyimpanan kolom baru dalam tabel terpartisi.Opsi untuk menambahkan batasan inline
UNIQUE,PRIMARY KEY, danCHECK.Opsi
constraint_stateuntuk menentukan status batasan.Opsi
constraint nameuntuk menentukan nama batasan.Opsi
column_propertiesuntuk memodifikasi tipe objek, tabel bersarang, dan karakteristik penyimpanan kolom VARRAY atau LOB.