全部產品
Search
文件中心

ApsaraDB for OceanBase:普通列

更新時間:Jul 01, 2024

本文為您介紹遷移 Oracle 資料庫的資料至 OceanBase 資料庫 Oracle 租戶時,CREATE TABLE DDL 普通列的支援轉換範圍。

總覽

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
  ]
  
identity_clause:
GENERATED [ ALWAYS | BY DEFAULT [ ON NULL ] ] AS IDENTITY [ ( identity_options ) ]

encryption_spec:
[ USING 'encrypt_algorithm' ][ IDENTIFIED BY password ][ 'integrity_algorithm' ][ [ NO ] SALT ]

支援的範圍

  • 支援列類型定義 column_name datatype,轉化詳情請參見 資料類型轉換

  • 支援指定 VISIBLE | INVISIBLE 屬性,預設的情況為 VISIBLE,不會顯示聲明 VISIBLE。

  • 支援 DEFAULT expr 定義預設值。

  • inline_constraint | inline_ref_constraint 定義行內約束子句,詳情請參見 約束

忽略的屬性

說明

如果同步的 DDL 中包含以下屬性的定義,則這些屬性不會被解析和轉換,最終會被忽略。

  • 不支援列定序定義 COLLATE column_collation_name,會忽略該子句。

  • 不支援指定 SORT 屬性,會忽略該屬性。

  • 不支援 DEFAULT ON NULL expr 子句定義預設值,會忽略該子句。樣本如下:

    CREATE TABLE T (C NUMBER DEFAULT ON NULL 1);
  • 不支援 identity_clause 子句定義自增列,會忽略該子句。樣本如下:

    CREATE TABLE t (id NUMBER GENERATED BY DEFAULT AS IDENTITY (start with 100 increment by 10));
  • 不支援 ENCRYPT encryption_spec 子句定義列加密屬性,會忽略該子句。