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

ApsaraDB for OceanBase:制約付き列の型を変更する

最終更新日:Jan 19, 2025

このトピックでは、異なる制約を持つ列のデータ型を変更する際に、Oracle データベースと OceanBase Database の Oracle テナント間の非互換性について説明します。

説明
  • 次の表で、OceanBase Database の Oracle テナントでサポートされている列のターゲット型は、型マッピングの結果です。

  • 次の表で、ハイフン(-)は「なし」を、All はすべての型を示します。

主キー列の型を変更する

次の表は、ALTER TABLE table_name MODIFY DDL 文を使用して PRIMARY KEY 列の型を変更する場合の、Oracle データベースと OceanBase Database の Oracle テナント間の非互換性について説明しています。

Oracle データベースの列型

サポートされているターゲット型

OceanBase Database の Oracle テナントの列型

サポートされているターゲット型

INTEGER

All

NUMBER(38,0)

-

INT

All

NUMBER(38,0)

-

SMALLINT

All

NUMBER(38,0)

-

BINARY_FLOAT

All

BINARY_FLOAT

-

BINARY_DOUBLE

All

BINARY_DOUBLE

-

DECIMAL

All

NUMBER

-

DEC

All

NUMBER

-

NUMERIC

All

NUMBER

-

REAL

All

NUMBER

-

FLOAT

All

FLOAT

-

NUMBER

All

NUMBER

-

NCHAR

All

NCHAR

-

CHAR

All

CHAR

-

CHARACTER

All

CHAR(n)

-

NVARCHAR2

All

NVARCHAR2(size)

-

VARCHAR2

All

VARCHAR2

-

VARCHAR

All

VARCHAR2

-

RAW

All

RAW

-

ROWID

All

ROWID

UROWID

UROWID

All

UROWID

ROWID

TIMESTAMP

All

TIMESTAMP

-

DATE

All

DATE

-

INTERVAL YEAR TO MONTH

All

INTERVAL YEAR TO MONTH

-

INTERVAL DAY TO SECOND

All

INTERVAL DAY TO SECOND

-

ユニークキー列の型を変更する

UNIQUE KEY 列の型を ALTER TABLE table_name MODIFY DDL 文を使用して変更する場合の、Oracle データベースと OceanBase Database の Oracle テナント間の非互換性は、PRIMARY KEY 列の型の変更の場合と同じです。

CHECK 制約を持つ列の型の変更

次の表は、ALTER TABLE table_name MODIFY DDL 文を使用して CHECK 制約を持つ列の型を変更する場合の、Oracle データベースと OceanBase Database の Oracle テナント間の非互換性を示しています。確認

Oracle データベースの列型

サポートされているターゲット型

OceanBase Database の Oracle テナントの列型

サポートされているターゲット型

INTEGER

NUMERIC\NUMBER\DECIMAL\DEC\FLOAT\REAL\INT\SMALLINT

NUMBER(38,0)

-

INT

NUMERIC\NUMBER\DECIMAL\DEC\FLOAT\REAL\INTEGER\SMALLINT

NUMBER(38,0)

-

SMALLINT

NUMERIC\NUMBER\DECIMAL\DEC\FLOAT\REAL\INTEGER\INT

NUMBER(38,0)

-

BINARY_FLOAT

-

BINARY_FLOAT

-

BINARY_DOUBLE

-

BINARY_DOUBLE

-

DECIMAL

NUMERIC\NUMBER\DEC\FLOAT\REAL\INT\SMALLINT\INTEGER

NUMBER

-

DEC

NUMERIC\NUMBER\DECIMAL\FLOAT\REAL\INT\SMALLINT\INTEGER

NUMBER

-

NUMERIC

NUMBER\DEC\DECIMAL\FLOAT\REAL\INT\SMALLINT\INTEGER

NUMBER

-

REAL

NUMBER\DEC\DECIMAL\FLOAT\INT\SMALLINT\INTEGER

NUMBER

-

FLOAT

NUMERIC\NUMBER\DEC\DECIMAL\REAL\INT\SMALLINT\INTEGER

FLOAT

-

NUMBER

NUMERIC\DEC\DECIMAL\FLOAT\REAL\INT\SMALLINT\INTEGER

NUMBER

-

NCHAR

CHAR\CHARACTER\NVARCHAR2\VARCHAR2\VARCHAR

NCHAR

-

CHAR

NCHAR\CHARACTER\NVARCHAR2\VARCHAR2\VARCHAR

CHAR

-

CHARACTER

NCHAR\CHAR\NVARCHAR2\VARCHAR2\VARCHAR

CHAR

-

NVARCHAR2

NCHAR\CHAR\CHARACTER\VARCHAR2\VARCHAR

NVARCHAR2

-

VARCHAR2

NCHAR\CHAR\CHARACTER\NVARCHAR2\VARCHAR

VARCHAR2

-

VARCHAR

NCHAR\CHAR\CHARACTER\NVARCHAR2\VARCHAR2

VARCHAR2

-

RAW

-

RAW

-

ROWID

-

ROWID

UROWID

UROWID

-

UROWID

ROWID

TIMESTAMP

DATE

TIMESTAMP

-

TIMESTAMP WITH LOCAL TIME ZONE

-

TIMESTAMP WITH LOCAL TIME ZONE

-

DATE

TIMESTAMP

DATE

-

INTERVAL YEAR TO MONTH

-

INTERVAL YEAR TO MONTH

-

INTERVAL DAY TO SECOND

-

INTERVAL DAY TO SECOND

-

外部キー列の型の変更

次の表に、ALTER TABLE table_name MODIFY DDL 文を使用した FOREIGN KEY 列の型の変更に関して、Oracle データベースと OceanBase Database の Oracle テナント間の非互換性を示します。

Oracle データベースの列の型

サポートされているターゲット型

OceanBase Database の Oracle テナントの列の型

サポートされているターゲット型

INTEGER

NUMERIC\NUMBER\DECIMAL\DEC\FLOAT\REAL\INT\SMALLINT

NUMBER(38,0)

-

INT

NUMERIC\NUMBER\DECIMAL\DEC\FLOAT\REAL\INTEGER\SMALLINT

NUMBER(38,0)

-

SMALLINT

NUMERIC\NUMBER\DECIMAL\DEC\FLOAT\REAL\INTEGER\INT

NUMBER(38,0)

-

BINARY_FLOAT

-

BINARY_FLOAT

-

BINARY_DOUBLE

-

BINARY_DOUBLE

-

DECIMAL

NUMERIC\NUMBER\DEC\FLOAT\REAL\INT\SMALLINT\INTEGER

NUMBER

-

DEC

NUMERIC\NUMBER\DECIMAL\FLOAT\REAL\INT\SMALLINT\INTEGER

NUMBER

-

NUMERIC

NUMBER\DEC\DECIMAL\FLOAT\REAL\INT\SMALLINT\INTEGER

NUMBER

-

REAL

NUMBER\DEC\DECIMAL\FLOAT\INT\SMALLINT\INTEGER

NUMBER

-

FLOAT

NUMERIC\NUMBER\DEC\DECIMAL\REAL\INT\SMALLINT\INTEGER

FLOAT

-

NUMBER

NUMERIC\DEC\DECIMAL\FLOAT\REAL\INT\SMALLINT\INTEGER

NUMBER

-

NCHAR

CHAR\CHARACTER

NCHAR

-

CHAR

NCHAR\CHARACTER

CHAR

-

CHARACTER

NCHAR\CHAR

CHAR

-

NVARCHAR2

VARCHAR2\VARCHAR

NVARCHAR2

-

VARCHAR2

NVARCHAR2\VARCHAR

VARCHAR2

-

VARCHAR

NVARCHAR2\VARCHAR2

VARCHAR2

-

RAW

-

RAW

-

ROWID

-

ROWID

UROWID

UROWID

-

UROWID

ROWID

TIMESTAMP

-

TIMESTAMP

-

TIMESTAMP WITH LOCAL TIME ZONE

-

TIMESTAMP WITH LOCAL TIME ZONE

-

DATE

-

DATE

-

INTERVAL YEAR TO MONTH

-

INTERVAL YEAR TO MONTH

-

INTERVAL DAY TO SECOND

-

INTERVAL DAY TO SECOND

-