---
title: "DECLARE ... CONDITION - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: DECLARE ... CONDITION DECLARE ... CONDITION 语句用于声明异常条件并为其命名，并将名称与异常条件所指定的处理程序相关联。 异常条件声明必须出现在游标或处理程序声明之前。 DECLARE ... CONDITION 语句的语法如下： DECLARE condition_name…
---
切换语言

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

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

# DECLARE ... CONDITION

更新时间：2026-03-26 16:03:35

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/600.pl-reference/200.pl-mysql/900.pl-exception-handling-statement-mysql/200.declare-condition-mysql.md)  

`DECLARE ... CONDITION` 语句用于声明异常条件并为其命名，并将名称与异常条件所指定的处理程序相关联。

异常条件声明必须出现在游标或处理程序声明之前。`DECLARE ... CONDITION` 语句的语法如下：

```sql
DECLARE condition_name CONDITION FOR condition_value

condition_value: {
    mysql_error_code
  | SQLSTATE [VALUE] sqlstate_value
}

```

`condition_name` 可以在之后的 `DECLARE ... HANDLER` 语句中引用。

`condition_value` 指示与异常条件名称相关联的指定条件或条件类别。它可以采取以下形式：

- `mysql_error_code`：表示错误代码的整数字面量。需要注意的是，代码 0 表示成功而不是错误，所以不要使用 0 表示错误代码。
 - `SQLSTATE [VALUE] sqlstate_value`：表示 `SQLSTATE` 值的 5 个字符的字符串字面量。不要使用以 '00' 开头的 `SQLSTATE` 值，因为 '00' 值表示成功而不是错误情况。

有关错误码和 `SQLSTATE` 值的详细信息，请参见[《OceanBase 数据库系统参考》错误码（MySQL 模式）](https://www.oceanbase.com/docs/enterprise/oceanbase-database/oceanbase-database/V3.2.3/use-error-information-1)。

在 `SIGNAL` 中或使用 `RESIGNAL` 语句的异常条件名称必须与 `SQLSTATE` 值相关联，而不是与错误代码相关联。

使用条件名称可以使存储的程序代码更清晰。基于 `mysql_error_code` 的异常条件示例如下：

```sql
DECLARE unknown_column CONDITION FOR 5217;
DECLARE CONTINUE HANDLER FOR unknown_column
  BEGIN
    -- 处理程序主体
  END;

```

基于 `SQLSTATE` 值的异常条件示例如下：

```sql
DECLARE unknown_column CONDITION FOR SQLSTATE '42S22';
DECLARE CONTINUE HANDLER FOR unknown_column
  BEGIN
    -- 处理程序主体
  END;

```

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