すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for OceanBase:仮想カラム

最終更新日:Jan 19, 2025

このトピックでは、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 句。これらのエディションでは、仮想カラム式はクエリ評価に使用できません。