All Products
Search
Document Center

ApsaraDB for OceanBase (Deprecated):Tambahkan kolom dan atribut kolom

Last Updated:Jul 02, 2025

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 | INVISIBLE didukung. Contoh kode:

    ALTER TABLE T ADD C1 NUMBER INVISIBLE;
  • Menambahkan batasan inline NOT NULL dan DEFAULT VALUE didukung. 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_clause tidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.

Klausa dan Opsi yang Diabaikan

Catatan

Klausa dan opsi berikut akan diabaikan dan tidak akan diselesaikan atau dikonversi ketika ditentukan dalam pernyataan DDL yang disinkronkan.

  • Opsi out_of_line_part_storage untuk menentukan karakteristik penyimpanan kolom baru dalam tabel terpartisi.

  • Opsi untuk menambahkan batasan inline UNIQUE, PRIMARY KEY, dan CHECK.

  • Opsi constraint_state untuk menentukan status batasan.

  • Opsi constraint name untuk menentukan nama batasan.

  • Opsi column_properties untuk memodifikasi tipe objek, tabel bersarang, dan karakteristik penyimpanan kolom VARRAY atau LOB.