本文为您介绍 Oracle 数据库和 OceanBase 数据库 Oracle 租户对于修改没有约束的列的字段类型的不兼容场景。
本文表格中,OceanBase 数据库 Oracle 租户允许执行修改一列是经过类型映射后的结果。
本文表格中,短横线(-)表示没有、all 表示全部类型。
如果列中包含下表中的字段类型,通过 ALTER TABLE table_name MODIFY DDL 对该列进行字段类型修改操作,Oracle 数据库和 OceanBase 数据库 Oracle 租户的区别如下。
Oracle 数据库的字段类型 | 支持修改除自身外的目标类型 | OceanBase 数据库 Oracle 租户的字段类型 | 支持修改除自身外的目标类型 |
INTEGER | 除 BLOB\CLOB\NCLOB | NUMBER(38,0) | - |
INT | 除 BLOB\CLOB\NCLOB | NUMBER(38,0) | - |
SMALLINT | 除 BLOB\CLOB\NCLOB | NUMBER(38,0) | - |
BINARY_FLOAT | 除 BLOB\CLOB\NCLOB | BINARY_FLOAT | - |
BINARY_DOUBLE | 除 BLOB\CLOB\NCLOB | BINARY_DOUBLE | - |
DECIMAL | 除 BLOB\CLOB\NCLOB | NUMBER | - |
DEC | 除 BLOB\CLOB\NCLOB | NUMBER | - |
NUMERIC | 除 BLOB\CLOB\NCLOB | NUMBER | - |
REAL | 除 BLOB\CLOB\NCLOB | NUMBER | - |
FLOAT | 除 BLOB\CLOB\NCLOB | FLOAT | - |
NUMBER | 除 BLOB\CLOB\NCLOB | NUMBER | - |
NCHAR | 除 BLOB\CLOB\NCLOB | NCHAR | - |
CHAR | 除 BLOB\CLOB\NCLOB | CHAR | - |
CHARACTER | 除 BLOB\CLOB\NCLOB | CHAR | - |
NVARCHAR2 | 除 BLOB\CLOB\NCLOB | NVARCHAR2 | - |
VARCHAR2 | 除 BLOB\CLOB\NCLOB | VARCHAR2 | - |
VARCHAR | 除 BLOB\CLOB\NCLOB | VARCHAR2 | - |
RAW | 除 BLOB\CLOB\NCLOB | RAW | - |
LONG | 除 BLOB\CLOB\NCLOB | CLOB | - |
LONG RAW | 除 BLOB\CLOB\NCLOB | BLOB | - |
ROWID | 除 BLOB\CLOB\NCLOB | ROWID | UROWID |
UROWID | 除 BLOB\CLOB\NCLOB | UROWID | ROWID |
TIMESTAMP | 除 BLOB\CLOB\NCLOB | TIMESTAMP | - |
TIMESTAMP WITH TIME ZONE | 除 BLOB\CLOB\NCLOB | TIMESTAMP WITH TIME ZONE | - |
TIMESTAMP WITH LOCAL TIME ZONE | 除 BLOB\CLOB\NCLOB | TIMESTAMP WITH LOCAL TIME ZONE | - |
DATE | 除 BLOB\CLOB\NCLOB | DATE | - |
INTERVAL YEAR TO MONTH | 除 BLOB\CLOB\NCLOB | INTERVAL YEAR TO MONTH | - |
INTERVAL DAY TO SECOND | 除 BLOB\CLOB\NCLOB | INTERVAL DAY TO SECOND | - |
BLOB | - | BLOB | - |
CLOB | - | CLOB | - |
NCLOB | - | CLOB | - |