---
title: "USER_TRIGGERS - OceanBase 数据库 V4.2.5 | OceanBase 文档中心"
description: USER_TRIGGERS 说明 该视图从 V2.2.30 版本开始引入。 功能描述 展示当前用户拥有的所有触发器。 功能适用性 该视图仅适用于 OceanBase 数据库 Oracle 模式。 字段说明 字段名称 类型 是否可以为 NULL 描述 TRIGGER_NAME VARCHAR2(128) NO 触发器名…
---
切换语言

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

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

# USER_TRIGGERS

更新时间：2026-07-15 20:56:59

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.5/zh-CN/700.reference/700.system-views/500.system-view-of-oracle-mode/200.dictionary-view-of-oracle-mode/30200.user_triggers-of-oracle-mode.md)

#### 说明

该视图从 V2.2.30 版本开始引入。

## 功能描述

展示当前用户拥有的所有触发器。

#### 功能适用性

该视图仅适用于 OceanBase 数据库 Oracle 模式。

## 字段说明

| **字段名称** | **类型** | **是否可以为 NULL** | **描述** |
| --- | --- | --- | --- |
| TRIGGER_NAME | VARCHAR2(128) | NO | 触发器名字 |
| TRIGGER_TYPE | VARCHAR2(16) | NO | 触发器类型：   - BEFORE EACH ROW - AFTER EACH ROW - `INSTEAD OF`：INSTEAD OF 触发器 - `COMPOUND`：组合触发器 |
| TRIGGERING_EVENT | VARCHAR2(246) | NO | 触发事件，当前 OceanBase 数据库仅支持 INSERT、UPDATE、DELETE等。 |
| TABLE_OWNER | VARCHAR2(128) | NO | 表 OWNER，触发对象类型为表时有效。 |
| BASE_OBJECT_TYPE | VARCHAR2(18) | NO | 触发对象类型，当前 OceanBase 数据库仅支持 TABLE。 |
| TABLE_NAME | VARCHAR2(256) | NO | 表名，触发对象类型为表时有效。 |
| COLUMN_NAME | VARCHAR2(4000) | NO | 列名，仅在触发对象为嵌套表时有效，其它情况为 NULL。 |
| REFERENCING_NAMES | VARCHAR2(422) | NO | REF 名，OLD 和 NEW 的别名。 |
| WHEN_CLAUSE | VARCHAR2(4000) | YES | 触发条件 |
| STATUS | VARCHAR2(8) | NO | 状态：   - ENABLE - DISABLE |
| DESCRIPTION | VARCHAR2(65536) | NO | 触发器描述，包括名字、类型、事件信息。 |
| ACTION_TYPE | VARCHAR2(11) | NO | ACTION 类型，当前 OceanBase 数据库仅支持 PL/SQL。 |
| TRIGGER_BODY | VARCHAR2(65536) | NO | 触发器语句。 |
| CROSSEDITION | VARCHAR2(7) | NO | 跨版本信息。目前暂不支持该字段 |
| BEFORE_STATEMENT | VARCHAR2(3) | NO | 语句前，YES/NO。表示组合触发器是否包含指定类型的 Section。 |
| BEFORE_ROW | VARCHAR2(3) | NO | 行前，YES/NO。表示组合触发器是否包含指定类型的 Section。 |
| AFTER_ROW | VARCHAR2(3) | NO | 行后，YES/NO。表示组合触发器是否包含指定类型的 Section。 |
| AFTER_STATEMENT | VARCHAR2(3) | NO | 语句后，YES/NO。表示组合触发器是否包含指定类型的 Section。 |
| INSTEAD_OF_ROW | VARCHAR2(3) | NO | 代替，YES/NO。表示组合触发器是否包含指定类型的 Section。 |
| FIRE_ONCE | VARCHAR2(3) | NO | 目前暂不支持该字段 |
| APPLY_SERVER_ONLY | VARCHAR2(3) | NO | 目前暂不支持该字段 |

## 查询示例

查看当前用户拥有的所有触发器。

```shell
obclient[SYS]> SELECT * FROM SYS.USER_TRIGGERS\G

```

查询结果如下：

```shell
*************************** 1. row ***************************
     TRIGGER_NAME: TRG_BEFORE_UPDATE
     TRIGGER_TYPE: BEFORE EACH ROW
 TRIGGERING_EVENT: UPDATE
      TABLE_OWNER: SYS
 BASE_OBJECT_TYPE: TABLE
       TABLE_NAME: TEST_TABLE
      COLUMN_NAME: NULL
REFERENCING_NAMES: REFERENCING NEW AS NEW OLD AS OLD
      WHEN_CLAUSE: NULL
           STATUS: ENABLED
      DESCRIPTION: NULL
      ACTION_TYPE: PL/SQL
     TRIGGER_BODY: TRIGGER trg_before_update
BEFORE UPDATE ON test_table
FOR EACH ROW
BEGIN
    :NEW.update_time := SYSTIMESTAMP;
    DBMS_OUTPUT.PUT_LINE('Trigger trg_before_update executed');
END
     CROSSEDITION: NO
 BEFORE_STATEMENT: NO
       BEFORE_ROW: YES
        AFTER_ROW: NO
  AFTER_STATEMENT: NO
   INSTEAD_OF_ROW: NO
        FIRE_ONCE: YES
APPLY_SERVER_ONLY: NO
*************************** 2. row ***************************
     TRIGGER_NAME: TRG_AUDIT_BASE
     TRIGGER_TYPE: AFTER EACH ROW
 TRIGGERING_EVENT: UPDATE
      TABLE_OWNER: SYS
 BASE_OBJECT_TYPE: TABLE
       TABLE_NAME: TEST_ORDER
      COLUMN_NAME: NULL
REFERENCING_NAMES: REFERENCING NEW AS NEW OLD AS OLD
      WHEN_CLAUSE: NULL
           STATUS: ENABLED
      DESCRIPTION: NULL
      ACTION_TYPE: PL/SQL
     TRIGGER_BODY: TRIGGER trg_audit_base
AFTER UPDATE ON test_order
FOR EACH ROW
BEGIN
    INSERT INTO audit_log(action_type, log_content, log_time)
    VALUES ('UPDATE', 'Base audit triggered', SYSTIMESTAMP);
END
     CROSSEDITION: NO
 BEFORE_STATEMENT: NO
       BEFORE_ROW: NO
        AFTER_ROW: YES
  AFTER_STATEMENT: NO
   INSTEAD_OF_ROW: NO
        FIRE_ONCE: YES
APPLY_SERVER_ONLY: NO
*************************** 3. row ***************************
     TRIGGER_NAME: TRG_AUDIT_DETAIL
     TRIGGER_TYPE: AFTER EACH ROW
 TRIGGERING_EVENT: UPDATE
      TABLE_OWNER: SYS
 BASE_OBJECT_TYPE: TABLE
       TABLE_NAME: TEST_ORDER
      COLUMN_NAME: NULL
REFERENCING_NAMES: REFERENCING NEW AS NEW OLD AS OLD
      WHEN_CLAUSE: NULL
           STATUS: ENABLED
      DESCRIPTION: NULL
      ACTION_TYPE: PL/SQL
     TRIGGER_BODY: TRIGGER trg_audit_detail
AFTER UPDATE ON test_order
FOR EACH ROW
FOLLOWS trg_audit_base  
BEGIN
    INSERT INTO audit_log(action_type, log_content, log_time)
    VALUES ('UPDATE', 'Detail: Amount changed from ' || :OLD.amount || ' to ' || :NEW.amount, SYSTIMESTAMP);
END
     CROSSEDITION: NO
 BEFORE_STATEMENT: NO
       BEFORE_ROW: NO
        AFTER_ROW: YES
  AFTER_STATEMENT: NO
   INSTEAD_OF_ROW: NO
        FIRE_ONCE: YES
APPLY_SERVER_ONLY: NO
3 rows in set

```

## 相关视图或文档

- 查看当前用户可访问的所有触发器：[ALL_TRIGGERS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001500826)
 - 查看当前租户下的所有触发器：[DBA_TRIGGERS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001501054)
 - 有关触发器的介绍和使用，参见 [创建和管理触发器](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001501872)。

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