全部產品
Search
文件中心

ApsaraDB for OceanBase:有約束的列修改長度

更新時間:Jul 01, 2024

本文為您介紹 Oracle 資料庫和 OceanBase 資料庫 Oracle 租戶對於修改不同約束下的列的長度的不相容情境。

主鍵(PRIMAEY KEY)約束下欄位長度的修改

如果 主鍵 列中包含下表中的欄位類型,通過 ALTER TABLE table_name MODIFY DDL 對該列進列欄位長度的修改操作,Oracle 資料庫和 OceanBase 資料庫 Oracle 租戶的區別如下。

Oracle 資料庫的欄位類型

允許的操作

OceanBase 資料庫 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

增大、減小

唯一鍵(UNIQUE KEY)約束下欄位長度的修改

如果 唯一鍵 列中包含上述表格中的欄位類型,通過 ALTER TABLE table_name MODIFY DDL 對該列進列欄位長度的修改操作,Oracle 資料庫和 OceanBase 資料庫 Oracle 租戶的區別與主鍵(PRIMAEY KEY)約束下欄位長度的修改一致。

CHECK 條件約束下欄位長度的修改

如果 CHECK 約束下的列包含上述表格中的欄位類型,通過 ALTER TABLE table_name MODIFY DDL 對該列進列欄位長度的修改操作,Oracle 資料庫和 OceanBase 資料庫 Oracle 租戶的區別如下。

Oracle 資料庫的欄位類型

允許的操作

OceanBase 資料庫 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 資料庫 Oracle 租戶的區別與主鍵(PRIMAEY KEY)約束下欄位長度的修改一致。