このトピックでは、Oracle データベースから OceanBase Database の Oracle テナントへのデータ移行中に仮想カラムを定義するための CREATE TABLE DDL 操作の変換範囲について説明します。
構文
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 ]... ]
evaluation_edition_clause:
EVALUATE USING { CURRENT EDITION | EDITION edition | NULL EDITION }
unusable_editions_clause:
[ UNUSABLE BEFORE { CURRENT EDITION | EDITION edition } ]
[ UNUSABLE BEGINNING WITH { CURRENT EDITION | EDITION edition | NULL EDITION } ]サポートされている DDL
column_name datatypeオプションを使用したカラム型の定義がサポートされています。型の変換の詳細については、「データ型の変換」をご参照ください。VISIBLE | INVISIBLEオプションを使用したカラムの可視性属性の指定がサポートされています。デフォルト値は VISIBLE で、宣言されていません。inline_constraintオプションを使用したインライン制約の定義がサポートされています。詳細については、「制約」をご参照ください。GENERATED ALWAYS AS column_expressionおよびcolumn datatype AS column_expressionオプションを使用した仮想カラムの定義がサポートされています。次に例を示します。重要GENERATED ALWAYS AS identityオプションを使用した仮想カラムの定義はサポートされていません。このオプションを使用した場合、データ転送サービスのスキーマ移行はこのオプションを無視し、フィールド名と型のみを移行します。CREATE TABLE T (C1 CHAR, C2 CHAR GENERATED ALWAYS AS (SUBSTR(C1,1,2))); CREATE TABLE T (C1 CHAR, C2 CHAR AS (SUBSTR(C1,1,2)));
無視される句とオプション
同期された DDL 操作で指定された場合、次の句とオプションは無視され、解決または変換されません。
カラムの照合順序を定義するための
COLLATE column_collation_nameオプション。エディション化された PL/SQL 関数のエディションを指定するための
evaluation_edition_clause句。エディションは、関数の名前解決中に照会されます。1 つ以上のクエリエディションを指定するための unusable_editions_clause 句。これらのエディションでは、仮想カラム式はクエリ評価に使用できません。