---
title: "AUDIT_LOG_FILTER_SET_FILTER - OceanBase Database AI V4.6.2 | OceanBase 文档中心"
description: "AUDIT_LOG_FILTER_SET_FILTER 描述 该函数（表达式）用于创建过滤器。 语法 AUDIT_LOG_FILTER_SET_FILTER(&#x27;filter_name&#x27;, &#x27;definition_of_filters&#x27;); 说明 参数解释 filter_name ：用于指定过滤器名称。 说明 AUDI…"
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*inJjSpyNOjUAAAAAHtAAAAgAeiGDAQ/original) OceanBase Database AIV 4.6.2

# AUDIT_LOG_FILTER_SET_FILTER

更新时间：2026-08-13 19:27:48

[编辑](https://github.com/oceanbase/oceanbase-database-ai/edit/V4.6.2/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/400.functions-of-mysql-mode/970.audit-functions-of-mysql-mode/400.audit-log-filter-set-filter-of-mysql-mode.md)  

## 描述

该函数（表达式）用于创建过滤器。

## 语法

```sql
AUDIT_LOG_FILTER_SET_FILTER('filter_name', 'definition_of_filters');

```

## 说明

### 参数解释

- `filter_name`：用于指定过滤器名称。

  #### 说明

  `AUDIT_LOG_FILTER_SET_FILTER` 是 `CREATE OR REPLACE` 语义，对已存在的对象执行 DDL 会覆盖。
 - `definition_of_filters`：用于定义审计过滤器的具体配置，采用 JSON 格式进行表述。当前版本的过滤器设计原则与 MySQL 兼容，但只支持对审计事件类型进行过滤。以下是几种过滤器配置的写法：

     - 记录所有事件。

      ```sql
      {
      "filter": {
          "log": true
      }
      }

      ```
     - 不记录所有事件。

      ```sql
      {
      "filter": {
          "log": false
      }
      }

      ```
     - 只记录登录登出。

      ```sql
      {
      "filter": {
          "log": true,
          "class": [
          { "name": "connection" }
          ]
      }
      }

      ```
     - 记录所有事件的另一种写法。

      ```sql
      {
      "filter": {
          "log": true,
          "class": [
          { "name": "connection" },
          { "name": "general" },
          { "name": "table_access" }
          ]
      }
      }

      ```

**审计事件分类如下：**

| 事件类型 | 说明 |
| --- | --- |
| connection | 登录退出。 |
| table_access | DML 语句。 |
| general | cmd 语句，parser 失败。 |

### 返回值

表达式输入必须是字符串常量，输出是字符串类型。

- 当 DDL 执行成功时，表达式返回 `OK`。
 - 当 DDL 执行失败时，`SELECT` 语句仍然执行成功，表达式的输出结果为错误信息。

## 示例

- 创建记录所有事件的过滤器 `log_all`。

  ```sql
  SELECT AUDIT_LOG_FILTER_SET_FILTER('log_all', '{ "filter": { "log": true } }');

  ```

  返回结果如下：

  ```shell
  +-------------------------------------------------------------------------+
  | AUDIT_LOG_FILTER_SET_FILTER('log_all', '{ "filter": { "log": true } }') |
  +-------------------------------------------------------------------------+
  | OK                                                                      |
  +-------------------------------------------------------------------------+
  1 row in set

  ```
 - 当 DDL 失败时，`SELECT` 语句仍然执行成功，表达式的输出结果为错误信息。

  ```sql
  SELECT AUDIT_LOG_FILTER_SET_FILTER('log_err', '1');

  ```

  返回结果如下：

  ```shell
  +---------------------------------------------+
  | AUDIT_LOG_FILTER_SET_FILTER('log_err', '1') |
  +---------------------------------------------+
  | ERROR: JSON parsing error.                  |
  +---------------------------------------------+
  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) 咨询热线
