首批通过分布式安全可靠测评,为关键业务系统打造
ORA-50000 ~ ORA-99999
更新时间:2026-04-10 11:58:37
功能适用性
该内容仅适用于 OceanBase 数据库 Oracle 模式。
ORA-54002:only pure functions can be specified in a virtual column expression
Ocean Base 错误码:5906
SQLSTATE:HY000
错误原因:虚拟列表达式包含值不确定的函数。
解决方法:重写列表式以仅引用纯函数。
ORA-54003:specified data type is not supported for a virtual column
OceanBase 错误码:5893
SQLSTATE:HY000
错误原因:虚拟列仅支持标量数据类型。 虚拟列不支持
LONG,BLOB,REF和BFILE数据类型。解决方法:为表达式列指定支持的标量数据类型。
ORA-54004:resultant data type of virtual column is not supported
OceanBase 错误码:5401
SQLSTATE:HY000
错误原因:虚拟列不支持基础表达式的数据类型,仅支持标量数据类型。 虚拟列不支持
LONG,BLOB,REF和BFILE数据类型。解决方法:为虚拟列的表达式指定支持的标量数据类型。
ORA-54013:INSERT operation disallowed on virtual columns
Ocean Base 错误码:5290
SQLSTATE:HY000
错误原因:尝试将值插入虚拟列。
解决方法:重新执行该语句,但不提供虚拟列的值。
ORA-54016:Invalid column expression was specified
OceanBase 错误码:5908
SQLSTATE:HY000
错误原因:虚拟列表达式不是有效的算术表达式。 它可能引用了表中的另一列。
解决方法:更改虚拟列的表达式。
ORA-54017:UPDATE operation disallowed on virtual columns
OceanBase 错误码:5907
SQLSTATE:HY000
错误原因:尝试更新虚拟列的值。
解决方法:重新执行该语句,但不设置虚拟列的值。
ORA-54021:Cannot use PL/SQL expressions in partitioning or subpartitioning columns
Ocean Base 错误码:5995
SQLSTATE:HY000
错误原因:在包含 PL/SQL 表达式的虚拟列上对表进行分区。
说明
该错误码从 V4.0.0 版本开始引入。
ORA-54023:Virtual column expression cannot be changed because a constraint is defined on column
Ocean Base 错误码:5948
SQLSTATE:HY000
错误原因:trigger body中不允许修改虚拟列的值。
解决方法:不要在trigger中修改虚拟列的值。
ORA-54025:Virtual column cannot have a default value
- OceanBase 错误码:5504
- SQLSTATE:HY000
- 错误原因:虚拟列不能有默认值。
- 解决方法:移除虚拟列的默认值。
说明
该错误码从 V4.2.1 版本开始引入。
ORA-54026:Real column cannot have an expression
- OceanBase 错误码:5505
- SQLSTATE:HY000
- 错误原因:实际列不能有表达式。
- 解决方法:移除实际列的表达式。
说明
该错误码从 V4.2.1 版本开始引入。
ORA-54027:cannot modify data-type of virtual column
- OceanBase 错误码:5506
- SQLSTATE:HY000
- 错误原因:无法修改虚拟列的数据类型。
说明
该错误码从 V4.2.1 版本开始引入。
ORA-54029:Virtual column cannot be updated in trigger body
Ocean Base 错误码:5703
SQLSTATE:HY000
错误原因:更改触发器主体中虚拟列的值。
解决方法:无效操作,需要更改触发器定义。
说明
该错误码从 V4.0.0 版本开始引入。
ORA-54036:cannot define referential constraint with ON DELETE SET NULL clause on virtual column
- OceanBase 错误码:5513
- SQLSTATE:HY000
- 错误原因:无法在虚拟列上定义具有 ON DELETE SET NULL 子句的外键约束。
- 解决方法:请不要在虚拟列上定义具有 ON DELETE SET NULL 子句的外键约束。
说明
该错误码从 V4.2.1 版本开始引入。
ORA-54037:table must have at least 1 column that is not virtual
OceanBase 错误码:5904
SQLSTATE:42000
错误原因:试图创建仅包含虚拟列的表。
解决方法:在要创建的表中至少包含 1 个非虚拟列。
ORA-54039:table must have at least one column that is not invisible
OceanBase 错误码:5679
SQLSTATE:HY000
错误原因:尝试创建或更改表,使之只有不可见的列。
解决方法:创建或更改的表中需要包含至少一个可见的列。
ORA-54042:Invisible column is not supported on this type of table
OceanBase 错误码:5680
SQLSTATE:HY000
错误原因:尝试创建不可见的列,或者更改列的可见性,但是当前表不支持不可见列。仅堆和索引组织表(IOT)支持不可见列。
解决方法:不支持这些列,请更改 DDL。
ORA-54046:Column visibility modifications cannot be combined with any other modified column DDL option
OceanBase 错误码:5681
SQLSTATE:HY000
错误原因:尝试将列可见性的修改操作与其他列属性的修改操作组合在一起。
解决方法:将列可见性的修改操作放到独立的 DDL 中。
ORA-54048:Column expression modifications cannot be combined with any other column DDL operation
OceanBase 错误码:5947
SQLSTATE:HY000
错误原因:试图将对列表达式的修改与其他的列操作结合起来。
解决方法:将对列表达式的修改操作分开到独立的 DDL 中。
ORA-54053:The visibility of a column from a table owned by a SYS user cannot be changed
OceanBase 错误码:5682
SQLSTATE:HY000
错误原因:试图更改 SYS 用户拥有的表中列的可见性。
解决方法:在非 SYS 用户拥有的表上执行该 DDL。
ORA-56901:non-constant expression is not allowed for pivot|unpivot values
OceanBase 错误码:5805
SQLSTATE:HY000
错误原因:尝试对
pivot|unpivot值使用非常量表达式。解决方法:对
pivot|unpivot值使用常量表达式。
ORA-56902:expect aggregate function inside pivot operation
OceanBase 错误码:5806
SQLSTATE:HY000
错误原因:尝试在
pivot操作中使用非聚合表达式。解决方法:使用聚合表达式。
ORA-56713:insufficient Resource Manager privileges
Ocean Base 错误码:4715
SQLSTATE:HY000
错误原因:没有权限操作 Resource Manager。
解决方法:以 root 用户执行相关操作。
ORA-62550:Invalid SQL ROW LIMITING expression was specified
OceanBase 错误码:5831
SQLSTATE:HY000
错误原因:SQL 的
ROW LIMITING表达式包含文本、绑定变量、相关变量或子查询以外的组件。解决方式:修改 SQL 的
ROW LIMITING表达式并重试操作。
ORA-64601:duplicate RESTART specified
OceanBase 错误码:4382
SQLSTATE:HY000
错误原因:
ALTER SEQUENCE命令中指定了重复的RESTART指令。解决方式:删除重复的
RESTART指令。
ORA-64403:Input cannot be null
- OceanBase 错误码:5471
- SQLSTATE:42000
- 错误原因:输入不能为 NULL。
- 解决方法:提供输入参数。
说明
该错误码从 V4.1.0 版本开始引入。