---
title: "CREATE_RULE - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: CREATE_RULE CREATE_RULE 过程用于创建自定义改写规则。 语法 PROCEDURE CREATE_RULE ( rule_name VARCHAR(256), rule_owner_name VARCHAR(128), pattern LONGTEXT, replacement LONGTEXT,…
---
切换语言

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

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

# CREATE_RULE

更新时间：2026-05-28 16:28:18

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/600.pl-reference/200.pl-mysql/1000.pl-system-package-mysql/17800.dbms-udr-mysql/200.create-rule-mysql.md)  

`CREATE_RULE` 过程用于创建自定义改写规则。

## 语法

```sql
PROCEDURE CREATE_RULE (
    rule_name          VARCHAR(256),
    rule_owner_name    VARCHAR(128),
    pattern            LONGTEXT,
    replacement        LONGTEXT,
    enabled            VARCHAR(64) DEFAULT 'YES'
  );

```

## 参数说明

| 参数 | 描述 |
| --- | --- |
| rule_name | 规则名称。 |
| rule_owner_name | 数据库名，仅 MySQL 模式需要指定。 |
| pattern | 规则匹配的语句的模板。 |
| replacement | 指示如何改写与 `pattern` 匹配的语句的模板。 |
| enabled | 规则是否生效。 |

## 使用说明

改写绑定规则限制如下：

- 支持的 SQL 语句类型为：`SELECT`、`INSERT`、`REPLACE`、`UPDATE`、`DELETE`、`MERGE` 和 `SET`。
 - 定义的规则模板中“?”跟“:{name}”不能混用。
 - `pattern` 定义中当使用“:{name}”来充当参数标记时，`name` 不能重复出现。
 - `pattern` 跟 `replacement` 不能定义为空。
 - `pattern` 跟 `replacement` 不支持 Multi Query。
 - `rule_name` 需要保证租户级唯一。
 - 规则模板中 `pattern` 跟 `replacement` 的参数标记个数必须相同。
 - 规则模板中 `pattern` 跟 `replacement` 的参数表示方式必须相同（都用“?”表示，或者都用“:{name}”表示）。

## 示例

```shell
obclient> CALL DBMS_UDR.CREATE_RULE ('rule1','test','select ? from dual','select ? + 1 from dual');
Query OK, 0 rows affected

obclient> SELECT 1 FROM DUAL;
+-------+
| ? + 1 |
+-------+
|     2 |
+-------+
1 row in set

obclient> SELECT DB_NAME, RULE_NAME, PATTERN, REPLACEMENT, NORMALIZED_PATTERN, STATUS, PATTERN_DIGEST FROM oceanbase.DBA_OB_USER_DEFINED_RULES;
+---------+-----------+--------------------+------------------------+--------------------+--------+---------------------+
| DB_NAME | RULE_NAME | PATTERN            | REPLACEMENT            | NORMALIZED_PATTERN | STATUS | PATTERN_DIGEST      |
+---------+-----------+--------------------+------------------------+--------------------+--------+---------------------+
| test    | rule1     | select ? from dual | select ? + 1 from dual | select ? from dual | ENABLE | 2647993221679348756 |
+---------+-----------+--------------------+------------------------+--------------------+--------+---------------------+
1 row in set

```

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