---
title: "ORA-02000 ~ ORA-04999 - OceanBase 数据库 V4.2.1 | OceanBase 文档中心"
description: ORA-02000 ~ ORA-04999 功能适用性 该内容仅适用于 OceanBase 数据库 Oracle 模式。 ORA-02000：missing VALUE keyword OceanBase 错误码：5466 SQLSTATE：HY000 错误原因：缺少 VALUE 关键字。 解决方法： 补全表达式中的…
---
切换语言

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

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

# ORA-02000 ~ ORA-04999

更新时间：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/500.ora-02000-to-ora-04999-of-oracle-mode.md)

#### 功能适用性

该内容仅适用于 OceanBase 数据库 Oracle 模式。

## ORA-02000：missing VALUE keyword

- OceanBase 错误码：5466
 - SQLSTATE：HY000
 - 错误原因：缺少 VALUE 关键字。
 - 解决方法： 补全表达式中的 VALUE 字段。

#### 说明

该错误码从 V4.1.0 版本开始引入。

## ORA-02014：cannot select FOR UPDATE from view with DISTINCT GROUP BY etc

- OceanBase 错误码：5788
 - SQLSTATE：HY000
 - 错误原因：尝试从尚未合并的视图中选择 `FOR UPDATE`，视图未合并是因为视图使用了阻止合并的语法（例如 `DISTINCT` 或 `GROUP BY`）或者由于初始化文件的参数设置。
 - 解决方法：确定视图不会合并的原因，进行更改使视图可以合并。

## ORA-02017：integer value required

- OceanBase 错误码：9671
 - SQLSTATE：HY000
 - 错误原因：未使用整数类型的取值。

## ORA-02019: connection description for remote database not found

- OceanBase 错误码：5835
 - SQLSTATE：HY000
 - 错误原因：没有找到远程数据库的连接说明。

## ORA-02021：DDL operations are not allowed on a remote database

- OceanBase 错误码：5095
 - SQLSTATE：HY000
 - 错误原因：在远程数据库上使用 DDL 操作。例如：`CREATE TABLE tablename@remotedbname` 等。
 - 解决方式：要更改远程数据库结构，必须连接到远程数据库，并拥有相应的权限。

## ORA-02024：database link not found

- OceanBase 错误码：5836
 - SQLSTATE：HY000
 - 错误原因：在字典中找不到要删除的数据库链接。
 - 解决方式：更正数据库链接名称。

## ORA-02049：timeout: distributed transaction waiting for lock

- OceanBase 错误码：6004
 - SQLSTATE：HY000
 - 错误原因：当前语句需要读取一行数据时，如果该行数据被另一个事务修改，并且这个事务正在提交，那么该事务需要等待另一个事务提交完成后决定是否读取该行数据，读语句等待时间超时则报超时错误。
 - 解决方式：使用 `[G]V$OB_TRANSACTION_PARTICIPANTS` 视图查询当前正在提交的事务，根据事务的 ID 在对应机器上查看日志，进一步分析事务卡在提交阶段未能完成的原因。

## ORA-02051：another session or branch in same transaction failed or finalized

- OceanBase 错误码：6264
 - SQLSTATE：HY000
 - 错误原因：具有相同全局事务 ID 的同一站点上的会话失败。该错误也有可能是由应用程序错误引起的，即当更新数据库时，另一个具有相同全局事务的紧密耦合的事务分支已完成或中止。
 - 解决方法：事务将自动恢复，因此无需采取任何措施。 如果发生应用程序错误，请确保一旦事务管理器为紧密耦合的分布式事务启动了两阶段提交后，就不再对数据库进行任何更新。

相关问题案例：

- [Oracle 租户下报错 ORA-02051: another session or branch in same transaction failed or finalized 的原因](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000284436)

## ORA-02089：COMMIT is not allowed in a subordinate session

- OceanBase 错误码：6258
 - SQLSTATE：XAE07
 - 错误原因：在会话中执行了 `COMMIT`，但是该会话不是两阶段提交的全局协调员。
 - 解决方法：仅在全局协调员中执行 `COMMIT`。

## ORA-02097：parameter cannot be modified because specified value is invalid

- OceanBase 错误码：4701、5855
 - SQLSTATE：HY000
 - 错误原因：初始化参数是支持修改的，但修改后的值不合法。
 - 解决方法：请参考 OceanBase 数据库对应版本的《参考指南》，查看该参数的取值范围。

## ORA-02149：Specified partition does not exist

- OceanBase 错误码：5146
 - SQLSTATE：HY000
 - 错误原因：未找到对象的分区。
 - 解决方法：使用正确的分区名称重试。

## ORA-02204：ALTER INDEX and EXECUTE not allowed for views

- OceanBase 错误码：5372
 - SQLSTATE：HY000
 - 错误原因：尝试授予或撤销操作视图的某些权限，但是这些权限对于视图是无效的。
 - 解决方法：不要尝试授予或撤销视图的 `ALTER`、`INDEX`、或 `EXECUTE` 权限。

## ORA-02205：only SELECT and ALTER privileges are valid for sequences

- OceanBase 错误码：5364
 - SQLSTATE：HY000
 - 错误原因：尝试授予或者撤销操作序列的权限，但是该权限对于序列是无效的。
 - 解决方法：不要尝试授予或撤销对于序列的 `DELETE`、`INDEX`、`INSERT`、`UPDATE`、`REFERENCES` 或 `EXECUTE` 权限。

## ORA-02207：invalid INITRANS option value

- OceanBase 错误码：5724
 - SQLSTATE：HY000
 - 错误原因：`INITRANS` 值不是介于 `1` 和 `255` 之间的整数，且小于或等于 `MAXTRANS` 值。
 - 解决方法：选择有效的 `INITRANS` 值。

## ORA-02209：invalid MAXTRANS option value

- OceanBase 错误码：5725
 - SQLSTATE：HY000
 - 错误原因：`MAXTRANS` 值不是介于 `1` 和 `255` 之间的整数，且大于或等于 `INITRANS` 值。
 - 解决方法：选择有效的 `MAXTRANS` 值。

## ORA-02211：invalid value for PCTFREE or PCTUSED

- OceanBase 错误码：5726
 - SQLSTATE：HY000
 - 错误原因：`PCTFREE` 或 `PCTUSED` 的指定值不是介于 `0` ~ `100` 之间的整数。
 - 解决方法：选择适当的值。

## ORA-02224：EXECUTE privilege not allowed for tables

- OceanBase 错误码：5365
 - SQLSTATE：HY000
 - 错误原因：尝试授予或撤销操作表的权限，但是该权限对于表是无效的。
 - 解决方法：不要尝试授予或撤销对于表的 `EXECUTE` 权限。

## ORA-02225：only EXECUTE and DEBUG privileges are valid for procedures

- OceanBase 错误码：5366
 - SQLSTATE：HY000
 - 错误原因：试图授予或撤销操作程序、函数和包的权限，但是该权限是无效的。
 - 解决方法：除了 `EXECUTE` 或 `DEBUG` 权限外，不要尝试授予或撤销对于程序、函数和包的任何其他权限。

## ORA-02251：subquery not allowed here

- OceanBase 错误码：5690
 - SQLSTATE：HY000
 - 错误原因：语句中不允许在此项中进行子查询。
 - 解决方法：从语句中删除子查询。

## ORA-02258：duplicate or conflicting NULL and/or NOT NULL specifications

- OceanBase 错误码：5944
 - SQLSTATE：HY000
 - 错误原因：重复或冲突的 `NULL` 或 `NOT NULL` 规范。
 - 解决方法：删除重复或冲突的规范。

## ORA-02261：such unique or primary key already exists in the table

- OceanBase 错误码：5671
 - SQLSTATE：HY000
 - 错误原因：表中已存在唯一键或主键。
 - 解决方法：移除多余的键。

## ORA-02264：name \'%.*s\' already used by an existing constraint

- OceanBase 错误码：5678
 - SQLSTATE：HY000
 - 错误原因：指定的约束名称必须是唯一的。
 - 解决方法：为约束指定唯一的约束名称。

## ORA-02266：unique/primary keys in table referenced by enabled foreign keys

- OceanBase 错误码：4714
 - SQLSTATE：HY000
 - 错误原因：对表执行的操作与外键冲突。
 - 解决方法：删除外键关联，然后再执行操作。

## ORA-02268：referenced table does not have a primary key

- OceanBase 错误码：5894
 - SQLSTATE：HY000
 - 错误原因：引用的表没有主键。
 - 解决方法：为引用表指定主键。

## ORA-02270：no matching unique or primary key for this column-list

- OceanBase 错误码：5889
 - SQLSTATE：HY000
 - 错误原因：`CREATE TABLE` 或 `ALTER TABLE` 语句中的 `REFERENCES` 子句提供了一个列列表，在引用表中没有匹配的唯一或主键约束。
 - 解决方法：使用 `ALL_CONS_COLUMNS` 目录视图查找正确的列名称。

## ORA-02277：invalid sequence name

- OceanBase 错误码：4300
 - SQLSTATE：HY000
 - 错误原因：指定的序列名称不是有效的标识符名称。
 - 解决方法：为序列名称指定有效的标识符名称。

## ORA-02278：duplicate MAXVALUE/NOMAXVALUE specifications

- OceanBase 错误码：4301、4306
 - SQLSTATE：HY000
 - 错误原因：矛盾或重复的 `MAXVALUE` 或 `NOMAXVALUE`。
 - 解决方法：删除矛盾或重复的 `MAXVALUE` 或 `NOMAXVALUE`。

## ORA-02279：duplicate MINVALUE/NOMINVALUE specifications

- OceanBase 错误码：4302、4307
 - SQLSTATE：HY000
 - 错误原因：矛盾或重复的 `MINVALUE` 或 `NOMINVALUE`。
 - 解决方法：删除矛盾或重复的 `MINVALUE` 或 `NOMINVALUE`。

## ORA-02280：duplicate CYCLE/NOCYCLE specifications

- OceanBase 错误码：4303、4308
 - SQLSTATE：HY000
 - 错误原因：矛盾或重复的 `CYCLE` 或 `NOCUCLE`。
 - 解决方法：删除矛盾或重复的 `CYCLE` 或 `NOCUCLE`。

## ORA-02281：conflicting CACHE/NOCACHE specifications

- OceanBase 错误码：4309
 - SQLSTATE：HY000
 - 错误原因：矛盾的 `CACHE` 或 `NOCACHE`。
 - 解决方法：删除矛盾的 `CACHE` 或 `NOCACHE`。

## ORA-02282：conflicting ORDER/NOORDER specifications

- OceanBase 错误码：4310
 - SQLSTATE：HY000
 - 错误原因：矛盾的 `ORDER` 或 `NOORDER`。
 - 解决方法：删除矛盾的 `ORDER` 或 `NOORDER`。

## ORA-02283：cannot alter starting sequence number

- OceanBase 错误码：4311
 - SQLSTATE：HY000
 - 错误原因：不能修改序列的初始值。
 - 解决方法：不要修改序列的初始值。

## ORA-02284：duplicate INCREMENT BY specifications

- OceanBase 错误码：4312
 - SQLSTATE：HY000
 - 错误原因：重复的 `INCREMENT BY`。
 - 解决方法：删除重复的 `INCREMENT BY`。

## ORA-02285：duplicate START WITH specifications

- OceanBase 错误码：4313
 - SQLSTATE：HY000
 - 错误原因：重复的 `START WITH`。
 - 解决方法：删除重复的 `START WITH`。

## ORA-02286：no options specified for ALTER SEQUENCE

- OceanBase 错误码：4314
 - SQLSTATE：HY000
 - 错误原因：`ALTER SEQUENCE` 中没有选项。
 - 解决方法：语句没有任何选项是毫无意义的。

## ORA-02287：sequence number not allowed here

- OceanBase 错误码：4315
 - SQLSTATE：HY000
 - 错误原因：指定的序列号（`CURRVAL` 或 `NEXTVAL`）不合适。
 - 解决方法：删除序列号。

## ORA-02289：object does not exist", "%s does not exist

- OceanBase 错误码：4298、4316
 - SQLSTATE：HY000
 - 错误原因：指定的序列不存在，或者用户没有执行此操作所需的权限。
 - 解决方法：确保序列名称正确，并且您有权对此序列执行所需的操作。

## ORA-02290：check constraint violated

- OceanBase 错误码：5693
 - SQLSTATE：HY000
 - 错误原因：插入的值不符合 `CHECK` 约束。
 - 解决方式：不要插入违反约束的值。

## ORA-02291：integrity constraint violated - parent key not found

- OceanBase 错误码：5315
 - SQLSTATE：23000
 - 错误原因：外键值没有匹配的主键值。
 - 解决方法：删除外键或添加匹配的主键。

相关问题案例：

- [Oracle 模式 INSERT ALL INTO 报错 ORA-02291](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000429362?back=kb)

## ORA-02292：integrity constraint violated - child record found

- OceanBase 错误码：5314
 - SQLSTATE：23000
 - 错误原因：尝试删除具有外键依赖项的父键值。
 - 解决方法：先删除依赖项，然后删除父项或者去除约束。

## ORA-02293：cannot validate (%.*s.%.*s) - check constraint violated

- OceanBase 错误码：5713
 - SQLSTATE：HY000
 - 错误原因：更改表的操作尝试验证已填充表的 `CHECK` 约束，该表具有不符合的值。
 - 解决方法：检查与 `CHECK` 约束的冲突。

## ORA-02296：cannot enable (%.*s.%.*s) - null values found

- OceanBase 错误码：5851
 - SQLSTATE：HY000
 - 错误原因：更改表的启用约束操作失败，因为该表包含的某些值不满足约束。

## ORA-02296：cannot enable (%.*s.%.*s) - null values found

- OceanBase 错误码：5945
 - SQLSTATE：HY000
 - 错误原因：更改表的启用约束操作失败，因为该表包含的某些值不满足约束。

## ORA-02298：cannot validate (%.*s.%.*s) - parent keys not found

- OceanBase 错误码：5785
 - SQLSTATE：HY000
 - 错误原因：由于该表具有孤立子记录，因此更改表的操作验证约束失败。

## ORA-02305：only EXECUTE DEBUG and UNDER privileges are valid for types

- OceanBase 错误码：5367
 - SQLSTATE：HY000
 - 错误原因：试图授予或撤销对于类型的权限（除 `EXECUTE`、`DEBUG` 或 `UNDER` 之外的权限），但是该权限是无效的。
 - 解决方法：授予或撤销对于类型的 `EXECUTE`、`DEBUG` 或者 `UNDER` 权限。

## ORA-02327：cannot create index on expression with datatype ADT '%.*s'

- OceanBase 错误码：7417
 - SQLSTATE：42000
 - 错误原因：尝试在 ADT（抽象数据类型）表达式上创建索引。
 - 解决方法：检查要创建索引的表结构，确保表结构不包含 ADT 类型的列。

#### 说明

该错误码从 V4.2.0 版本开始引入。

## ORA-02377：invalid resource limit %s

- OceanBase 错误码：5705
 - SQLSTATE：HY000
 - 错误原因：指定的限制值为 `0` 或更低。
 - 解决方法：指定大于 `0` 的限制值。

## ORA-02379：profile %.*s already exists

- OceanBase 错误码：5706
 - SQLSTATE：HY000
 - 错误原因：尝试创建已存在的 Profile。

## ORA-02380：profile %.*s does not exist

- OceanBase 错误码：5704
 - SQLSTATE：HY000
 - 错误原因：尝试将用户分配给不存在的 Profile。

## ORA-02382：profile string has users assigned cannot drop without CASCADE

- OceanBase 错误码：5707
 - SQLSTATE：HY000
 - 错误原因：Profile 有用户使用，只能级联删除。
 - 解决方法：增加 `CASCADE` 或联系技术支持人员协助排查。

## ORA-02430：cannot enable constraint (%.*s) - no such constraint

- OceanBase 错误码：5778
 - SQLSTATE：HY000
 - 错误原因：此表中不存在指定的约束。

## ORA-02431：cannot disable constraint (%.*s) - no such constraint

- OceanBase 错误码：5779
 - SQLSTATE：HY000
 - 错误原因：此表中不存在指定的约束。

## ORA-02436：date or system variable wrongly specified in CHECK constraint

- OceanBase 错误码：5691
 - SQLSTATE：HY000
 - 错误原因：尝试在 `CHECK` 约束中使用不确切的参数，例如不确定的时间常量（例如缺少世纪信息的时间）或系统变量（如 `USER`）。
 - 解决方法：在 `CHECK` 约束中指定确切的参数。

## ORA-02438：Column check constraint \'%.*s\' cannot reference other columns

- OceanBase 错误码：5786
 - SQLSTATE：HY000
 - 错误原因：尝试定义引用另一列的列检查约束。
 - 解决方法：将其定义为表检查约束。

## ORA-02443：Cannot drop constraint \'%.*s\' - nonexistent constraint

- OceanBase 错误码：5692
 - SQLSTATE：HY000
 - 错误原因：`ALTER TABLE DROP CONSTRAINT <constraint_name>` 语句中，指定的约束不存在。
 - 解决方法：请确保提供正确的约束名称。

## ORA-02449：unique/primary keys in table (%.*s) referenced by foreign key (%.*s) on table (%.*s)

- OceanBase 错误码：5618
 - SQLSTATE：HY000
 - 错误原因：删除另一个表中外键引用的具有唯一键或主键的表。
 - 解决方法：在对表执行上述操作之前，请删除其他表中的外键约束。通过发出以下命令，可以看到哪些约束引用了一个表：`SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = "tabnam";`。

#### 说明

该错误码从 V4.0.0 版本开始引入。

## ORA-03001：unimplemented feature

- OceanBase 错误码：4376
 - SQLSTATE：HY000
 - 错误原因：OceanBase 数据库不支持此功能。

## ORA-04001：sequence parameter %s must be an integer

- OceanBase 错误码：4317
 - SQLSTATE：HY000
 - 错误原因：序列参数指定的不是整数。
 - 解决方法：创建序列，并为序列参数指定整数值。

## ORA-04002：INCREMENT must be a nonzero integer

- OceanBase 错误码：4318
 - SQLSTATE：HY000
 - 错误原因：序列增量指定为零。
 - 解决方法：将增量指定为非零值。

## ORA-04003：sequence parameter exceeds maximum size allowed

- OceanBase 错误码：4319
 - SQLSTATE：HY000
 - 错误原因：序列参数超出位数范围。
 - 解决方法：指定允许位数范围内的参数。

## ORA-04004：MINVALUE must be less than MAXVALUE

- OceanBase 错误码：4320
 - SQLSTATE：HY000
 - 错误原因：指定最小值大于或等于 `MAXVALUE`。
 - 解决方法：指定小于 `MAXVALUE` 的最小值。

## ORA-04005：INCREMENT must be less than MAXVALUE minus MINVALUE

- OceanBase 错误码：4321
 - SQLSTATE：HY000
 - 错误原因：指定的增量大于或等于 `MAXVALUE - MINVALUE`。
 - 解决方法：指定增量小于 `MAXVALUE - MINVALUE`。

## ORA-04006：START WITH cannot be less than MINVALUE

- OceanBase 错误码：4322
 - SQLSTATE：HY000
 - 错误原因：指定的起始值小于 `MINVALUE`。
 - 解决方法：确保起始值大于或等于 `MINVALUE。`

## ORA-04007：MINVALUE cannot be made to exceed the current value

- OceanBase 错误码：4323
 - SQLSTATE：HY000
 - 错误原因：指定的 `MINVALUE` 大于当前值。
 - 解决方法：始终确保最小值为当前值。

## ORA-04008：START WITH cannot be more than MAXVALUE

- OceanBase 错误码：4324
 - SQLSTATE：HY000
 - 错误原因：指定的起始值大于 `MAXVALUE`。
 - 解决方法：确保起始值小于 `MAXVALUE`。

## ORA-04009：MAXVALUE cannot be made to be less than the current value

- OceanBase 错误码：4325
 - SQLSTATE：HY000
 - 错误原因：指定的 `MAXVALUE` 小于当前值。
 - 解决方法：确保新的 `MAXVALUE` 大于当前值。

## ORA-04010：the number of values to CACHE must be greater than 1

- OceanBase 错误码：4326
 - SQLSTATE：HY000
 - 错误原因：`CACHE` 子句中的值是 `1`。
 - 解决方法：指定 `NOCACHE`，或大于 `1` 的值。

## ORA-04011：sequence option value out of range

- OceanBase 错误码：4327
 - SQLSTATE：HY000
 - 错误原因：序列参数的值超过限制。
 - 解决方法：在序列参数值限制内指定参数值。

## ORA-04013：number to CACHE must be less than one cycle

- OceanBase 错误码：4328
 - SQLSTATE：HY000
 - 错误原因：给出的缓存数大于周期中的值。
 - 解决方法：放大周期，或缓存较少的值。

## ORA-04014：descending sequences that CYCLE must specify MINVALUE

- OceanBase 错误码：4329
 - SQLSTATE：HY000
 - 错误原因：循环序列必须指定换行符。
 - 解决方法：重新创建序列并指定其换行值。

## ORA-04015：ascending sequences that CYCLE must specify MAXVALUE

- OceanBase 错误码：4330
 - SQLSTATE：HY000
 - 错误原因：循环序列必须指定换行符。
 - 解决方法：重新创建序列并指定其换行值。

## ORA-04015：sequence %s no longer exists

- OceanBase 错误码：4331
 - SQLSTATE：HY000
 - 错误原因：循环序列必须指定换行符。
 - 解决方法：重新创建序列并指定其换行值。

## ORA-04042：procedure, function, package, or package body does not exist

- OceanBase 错误码：5880
 - SQLSTATE：HY000
 - 错误原因：尝试访问不存在的过程、函数，程序包或程序包主体。
 - 解决方法：请检查访问的对象的名称是否正确。

## ORA-04045：errors during recompilation/revalidation of %.*s.%.*s

- OceanBase 错误码：9744
 - SQLSTATE：HY000
 - 错误原因：%.*s 的重新编译/重新验证过程中出错。

## ORA-04047：object specified is incompatible with the flag specified

- OceanBase 错误码：5974
 - SQLSTATE：HY000
 - 错误原因：标志隐含的对象类型与指定的对象类型不匹配。
 - 解决方式：指定正确的对象，或使用适当的标志。

## ORA-04055：Aborted: '%.*s' formed a non-REF mutually-dependent cycle with '%.*s'

- OceanBase 错误码：5941
 - SQLSTATE：HY000
 - 错误原因：由于已编译的库单元与其他库单元形成一个非 `REF` 相互依赖的循环，因此该编译被中止。 当试图编译具有其他类型属性的类型，而这些其他类型可能参与此类型的循环时，就会发生这种情况。如下代码：

  `create type t1;`

  `create type t2 (a t1);`

  `create type t1 (a t2);`
 - 解决方法：中断循环（可通过增加 `REF` 或使用其他类型）。

## ORA-04063：view '%.*s.%.*s' has errors

- OceanBase 错误码：5231
 - SQLSTATE：42S22
 - 错误原因：尝试执行存储过程或使用有错误的视图。对于存储程序，问题可能是语法错误或引用其他不存在的程序。对于视图，问题可能是视图定义中的引用查询到不存在的表。
 - 解决方式：修复错误或根据需要创建引用对象。

相关问题案例：

- [OceanBase 数据库 Oracle 租户创建视图成功，但查询报错 ORA-04063](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000207732)
 - [desc 展示引用 DBLink 表的视图报错 ORA-04063](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000043619)

## ORA-04067：not executed, type body '%.*s' does not exist

- OceanBase 错误码：5924
 - SQLSTATE：HY000
 - 错误原因：尝试执行不存在的存储程序。
 - 解决方法：确保给出正确的名称。

## ORA-04073 : column list not valid for this trigger type

- OceanBase 错误码：9570
 - SQLSTATE：HY000
 - 错误原因：`INSTEAD OF` 触发器不能显示指定更新的具体列名。
 - 解决方式：删除列列表。

## ORA-04074 : invalid REFERENCING name

- OceanBase 错误码：9664
 - SQLSTATE：HY000
 - 错误原因：引用子句中提供的名称无效。
 - 解决方式：确保引用名称不是保留字。

## ORA-04077：stmt trigger with whenclause

- OceanBase 错误码：9545
 - SQLSTATE：HY000
 - 错误原因：`WHEN` 子句只能指定行级触发器。
 - 解决方法：删除 `WHEN` 子句或为每个行指定 `WHEN` 子句。

## ORA-04080：trigger '%.*s' does not exist

- OceanBase 错误码：5733
 - SQLSTATE：HY000
 - 错误原因：`TRIGGER` 名称无效。
 - 解决方法：检查触发器名称。

## ORA-04081：trigger already exist

- OceanBase 错误码：5734
 - SQLSTATE：HY000
 - 错误原因：`TRIGGER` 名称或类型已经存在。
 - 解决方式：使用不同的触发器名称或删除具有相同名称的触发器。

## ORA-04082：NEW or OLD references not allowed in table level triggers

- OceanBase 错误码：9546
 - SQLSTATE：HY000
 - 错误原因：表级触发器中正在使用 `NEW` 或 `OLD` 引用。
 - 解决方式：删除任何 `NEW` 或 `OLD` 引用。

## ORA-04084：cannot change NEW values for this trigger type

- OceanBase 错误码：9584
 - SQLSTATE：HY000
 - 错误原因：`NEW` 变量不能出现在语句级触发器中。
 - 解决方式：更改触发器类型或删除变量引用。

## ORA-04085：cannot change the value of an OLD reference variable

- OceanBase 错误码：9662
 - SQLSTATE：HY000
 - 错误原因：旧值只能读取，不能更改。
 - 解决方式：不要更改旧的行数据。

## ORA-04091：table '%.*s'.'%.*s' is mutating, trigger/function may not see it

- OceanBase 错误码：5791
 - SQLSTATE：HY000
 - 错误原因：触发器（或在此语句中引用的用户定义的 PL 函数）尝试查看（或修改）一张表，但是同时触发该表的语句正在修改该表。
 - 解决方法：重写触发器（或函数），以便它不读取该表。

相关问题案例：

- [DML 语句调用函数报错 table is mutating](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210009)

## ORA-04095：trigger '%.*s' already exists on another table, cannot replace it

- OceanBase 错误码：5735
 - SQLSTATE：HY000
 - 错误原因：无法替换该触发器，因为该触发器已经存在于另外一张表上。
 - 解决方法：删除具有相同名称的触发器并重新创建触发器。

 上一篇 下一篇 ![有帮助](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) 咨询热线
