このトピックでは、異なる制約を持つ列の長さを変更する際に、Oracle データベースと OceanBase Database の Oracle テナント間の非互換性について説明します。
主キー列の長さを変更する
次の表は、ALTER TABLE table_name MODIFY DDL 文を使用して PRIMARY KEY 列の長さを変更する場合の、Oracle データベースと OceanBase Database の Oracle テナント間の非互換性について説明しています。
Oracle データベースの列タイプ | 許可される操作 | OceanBase Database の Oracle テナントの列タイプ | 許可される操作 |
INTEGER | - | NUMBER(38,0) | - |
INT | - | NUMBER(38,0) | - |
SMALLINT | - | NUMBER(38,0) | - |
BINARY_FLOAT | - | BINARY_FLOAT | - |
BINARY_DOUBLE | - | BINARY_DOUBLE | - |
DECIMAL | 長さの増減 | NUMBER | 長さの増加 |
DEC | 長さの増減 | NUMBER | 長さの増加 |
NUMERIC | 長さの増減 | NUMBER | 長さの増加 |
REAL | 長さの増減 | NUMBER | 長さの増加 |
FLOAT | 長さの増減 | FLOAT | 長さの増加 |
NUMBER | 長さの増減 | NUMBER | 長さの増加 |
NCHAR | 長さの増減 | NCHAR | 長さの増加 |
CHAR | 長さの増減 | CHAR | 長さの増加 |
CHARACTER | 長さの増減 | CHAR | 長さの増加 |
NVARCHAR2 | 長さの増減 | NVARCHAR2 | 長さの増加 |
VARCHAR2 | 長さの増減 | VARCHAR2 | 長さの増加 |
VARCHAR | 長さの増減 | VARCHAR2 | 長さの増加 |
RAW | 長さの増減 | RAW | 長さの増加 |
ROWID | - | ROWID | - |
UROWID | - | UROWID | - |
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 | 長さの増減 |
一意キー列の長さを変更する
Oracle データベースと OceanBase Database の Oracle テナントの間には、ALTER TABLE table_name MODIFY DDL 文を使用して UNIQUE KEY 列の長さを変更する場合の非互換性は、PRIMARY KEY 列の長さを変更する場合と同じです。
CHECK 制約を持つ列の長さを変更する
次の表に、ALTER TABLE table_name MODIFY DDL 文を使用して 確認 制約を持つ列の長さを変更する際の、Oracle データベースと OceanBase Database の Oracle テナント間の非互換性を示します。
Oracle データベースの列タイプ | 許可される操作 | OceanBase Database の Oracle テナントの列タイプ | 許可される操作 |
INTEGER | - | NUMBER(38,0) | - |
INT | - | NUMBER(38,0) | - |
SMALLINT | - | NUMBER(38,0) | - |
BINARY_FLOAT | - | BINARY_FLOAT | - |
BINARY_DOUBLE | - | BINARY_DOUBLE | - |
DECIMAL | 長さの増減 | NUMBER | - |
DEC | 長さの増減 | NUMBER | - |
NUMERIC | 長さの増減 | NUMBER | - |
REAL | 長さの増減 | NUMBER | - |
FLOAT | 長さの増減 | FLOAT | - |
NUMBER | 長さの増減 | NUMBER | - |
NCHAR | 長さの増減 | NCHAR | - |
CHAR | 長さの増減 | CHAR | - |
CHARACTER | 長さの増減 | CHAR | - |
NVARCHAR2 | 長さの増減 | NVARCHAR2 | - |
VARCHAR2 | 長さの増減 | VARCHAR2 | - |
VARCHAR | 長さの増減 | VARCHAR2 | - |
RAW | 長さの増減 | RAW | - |
ROWID | - | ROWID | - |
UROWID | - | UROWID | - |
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 | - |
外部キー列の長さを変更する
FOREIGN KEY 列の長さを ALTER TABLE table_name MODIFY DDL 文を使用して変更する場合の、Oracle データベースと OceanBase Database の Oracle テナント間の非互換性は、PRIMARY KEY 列の長さを変更する場合と同じです。