OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
アイコン

OceanBaseデータベース

V4.3.5

    OceanBase logo

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについて法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. V4.3.5
    アイコンOceanBaseデータベース
    V 4.3.5
    • V 4.3.5

    CREATE_RULE

    最終更新日:2026-04-15 15:09:34  更新
    シェア
    このページの内容
    構文
    パラメータの説明
    使用方法
    例

    折りたたみ

    シェア

    CREATE_RULE プロシージャは、カスタムの書き換えルールを作成するために使用されます。

    構文

    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 はマルチクエリをサポートしません。
    • rule_name はテナントレベルで一意である必要があります。
    • ルールテンプレート内の pattern と replacement のパラメータマーカーの数は同じでなければなりません。
    • ルールテンプレート内の pattern と replacement のパラメータ表記方法は同じでなければなりません(どちらも「?」で表すか、またはどちらも「:{name}」で表す)。

    例

    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
    

    前のトピック

    DBMS_UDRの概要
    最後

    次のトピック

    DISABLE_RULE
    次
    このページの内容
    構文
    パラメータの説明
    使用方法
    例