---
title: github-fill
description: ORA-50000 ~ ORA-99999 功能适用性 该内容仅适用于 OceanBase 数据库 Oracle 模式。 ORA-54002：only pure functions can be specified in a virtual column expression Ocean Base 错误码：5906 …
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.1 LTS

# ORA-50000 ~ ORA-99999

更新时间：2026-07-15 22:01:31

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.1/zh-CN/700.reference/900.error-code/700.error-code-of-oracle-mode/1000.ora-50000-to-ora-99999-of-oracle-mode.md)

#### 功能适用性

该内容仅适用于 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
 - 错误原因：实际列不能有表达式。
 - 解决方法：移除实际列的表达式。

## ORA-54027：cannot modify data-type of virtual column

- OceanBase 错误码：5506
 - SQLSTATE：HY000
 - 错误原因：无法修改虚拟列的数据类型。

## ORA-54029：Virtual column cannot be updated in trigger body

- Ocean Base 错误码：5703
 - SQLSTATE：HY000
 - 错误原因：更改触发器主体中虚拟列的值。
 - 解决方法：无效操作，需要更改触发器定义。

## 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 子句的外键约束。

## 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-00600: locality do not exist in locality list. can not set：

- OceanBase 错误码：9133
 - SQLSTATE：HY000
 - 错误原因：设置的备份路径或归档路径源端不存在。
 - 解决方法：查询视图 `DBA_OB_ZONES`，确认所输入的 Locality 是否存在，更正后重新设置。

#### 说明

对于 V4.2.1 版本，该错误码从 V4.2.1 BP11 版本开始引入。

## 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 版本开始引入。

  上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
