---
title: "概述 - OceanBase 数据库 V4.3.4 | OceanBase 文档中心"
description: 概述 触发器是 OceanBase 数据库中为 Oracle 租户提供的功能，它类似过程和函数，是包含声明、执行和异常处理过程的 PL 块。触发器基于特定事件被执行，可以指定触发器是在事件之前还是之后触发，以及触发器是针对单个事件还是被事件执行影响的某行数据。 触发器是一个独立的对象，当某个事件发生时自动地隐式运行，…
---
切换语言

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

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

# 概述

更新时间：2024-12-20 23:00:00

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.4/zh-CN/700.reference/300.database-object-management/200.manage-object-of-oracle-mode/800.manage-triggers-of-oracle-mode/100.trigger-overview-of-oracle-mode.md)  

触发器是 OceanBase 数据库中为 Oracle 租户提供的功能，它类似过程和函数，是包含声明、执行和异常处理过程的 PL 块。触发器基于特定事件被执行，可以指定触发器是在事件之前还是之后触发，以及触发器是针对单个事件还是被事件执行影响的某行数据。

触发器是一个独立的对象，当某个事件发生时自动地隐式运行，而且触发器不能接收参数。这里的事件指的是对数据库的表进行的 INSERT、UPDATE 及 DELETE 操作。

#### 注意

OceanBase 数据库 V2.2.7x 及以下版本仅支持表上的行级触发器。

一个简单的触发器的触发时机有四个点：

- 在事件执行之前（语句级别的 BEFORE 触发器）
 - 在事件执行之后（语句级别的 AFTER 触发器）
 - 在每行被事件执行影响之前（行级的 BEFORE 触发器）
 - 在每行被事件执行影响之后（行级的 AFTER 触发器）

一个 DML 语句可能会触发多个简单的触发器，触发执行顺序是：语句级 BEFORE 触发器 -> 行级 BEFORE 触发器 -> 行级 AFTER 触发器 -> 语句级 AFTER 触发器。同一类型的触发器的执行顺序是不确定的，当前暂不支持指定触发器的执行顺序。

触发器可以是简单的，也可以是组合的。OceanBase 数据库当前主要支持以下几种 DML 触发器：

- 行级触发器
 - 语句级触发器
 - INSTEAD OF 触发器

  INSTEAD OF 触发器可以创建在可编辑视图与不可编辑视图上，用于更新视图。
 - 组合触发器

  一个组合触发器中可以包含行前、行后、语句前、语句后四种触发事件中的一到四种或只包含一个 INSTEAD OF 触发事件。

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