本文為您介紹遷移 Oracle 資料庫的資料至 OceanBase 資料庫 Oracle 租戶時,CREATE TABLE DDL 行外約束的支援轉換範圍。
總覽
行外約束 out_of_line_constraint
的文法如下:
[ CONSTRAINT constraint_name ]
{ UNIQUE (column [, column ]...)
| PRIMARY KEY (column [, column ]...)
| FOREIGN KEY (column [, column ]...) references_clause
| CHECK (condition)
} [ constraint_state ]
references_clause:
REFERENCES [ schema_name. ] object [ (column [, column ]...) ]
[ON DELETE { CASCADE | SET NULL } ]
constraint_state:
[ [NOT] DEFERRABLE [INITIALLY {IMMEDIATE | DEFERRED}]
| INITIALLY { IMMEDIATE | DEFERRED } [ NOT ] [ DEFERRABLE ]
]
[ RELY | NORELY ]
[ using_index_clause ]
[ ENABLE | DISABLE ]
[ VALIDATE | NOVALIDATE ]
[ exceptions_clause ]
支援的範圍
支援
CONSTRAINT constraint_name
定義約束名稱。支援定義
UNIQUE (column [, column ]...)
唯一鍵和PRIMARY KEY (column [, column ]...)
主鍵。支援定義 CHECK 條件約束。
支援
FOREIGN KEY (column [, column ]...) references_clause
子句定義外鍵,可以設定過濾。支援 CHECK 條件約束下
constraint_state
約束狀態屬性中的ENABLE/DISABLE
、VALIDATE/NOVALIDATE
和RELY/NORELY
屬性,其它屬性忽略。
不支援的範圍
constraint_state
約束狀態屬性:除 CHECK 條件約束下支援 ENABLE
、DISABLE
、VALIDATE
、NOVALIDATE
、RELY
和 NORELY
屬性外,其它約束下均不支援,會忽略該 option。