codecamp

OceanBase 新建触发器

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 触发器 标签可以查看触发器列表。在触发器列表的右上角,单击 + 创建触发器,或是在上方导航栏中单击 新建 以创建您需要的对象。

创建触发器需要进行以下 3 步操作:

  1. 指定基本信息
  2. 设置高级设置信息
  3. 确认 SQL
OceanBase新建触发器

指定基本信息

在新建触发器页面,第一步需要指定基本信息。基本信息 页签中包含以下信息项:

  • 触发器名称:为触发器指定一个名称。

  • 基准对象模式:触发器作用的对象所在的 Schema。

  • 基准对象类型:触发器作用的对象的类型,当前版本只支持 TABLE 表对象。

  • 基准对象名称:触发器作用的对象的名称。

  • 触发器状态:指定当前触发器为 启用 或 禁用

设置高级设置信息

指定基本信息后,第二步需要指定一些高级设置信息。高级设置 页签包含以下信息项:

  • 触发器类型:选择触发器的类型,当前版本只支持创建 SIMPLE 简单触发器。

  • 触发:指定触发时间,即该触发器是在触发事件发生之前(BEFORE)或之后(AFTER)触发。

  • 级别:指定触发器的级别。当前版本只支持行级别触发器(Row-level)。

  • 事件:指定会触发此触发器的操作,支持选择 INSERTUPDATE 和 DELETE 事件。

  • 列(选填):指定 事件 作用的范围,在 事件 中选择 SELECT 事件后展示该项。当前版本只支持在表对象中创建行级触发器,所以这里要选择事件作用的列。

  • 引用旧值(选填):为引用的对象指定一个别名,对应触发器创建语法中 REFERENCEING OLD 的值。

  • 引用新值(选填):为引用的对象指定一个别名,对应触发器创建语法中 REFERENCEING NEW 的值。

  • 子句条件(选填):指定一个逻辑表达式,只有当该表达式的值为 True 时,遇到触发事件才会自动执行触发器指定的操作。

确认 SQL

完成 基本信息 和 高级设置 页签上所有信息的指定后,单击页面上 下一步:确认 SQL 按钮以进入语句编辑页面。

在语句编辑页面中会根据 基本信息 和 高级设置 中指定的信息生成对应的触发器定义语句,您需要补齐语句中触发器触发后需执行的操作,即触发体。补齐触发体语句后,单击页面右上角的 创建 按钮,完成触发器的创建。

同时,在编辑页面的工具栏中提供了以下功能键:

功能

说明

格式化

单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。

查找/替换

在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。

撤销

将脚本回退到上一步操作执行的结果。

重做

执行 撤销 操作后,对脚本重新执行撤销前的操作。

大小写

提供 全部大写全部小写 和 首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。

缩进

提供 添加缩进 和 删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。

注释

提供 添加注释 和 删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。

上一步

回到 新建触发器 页面,您可以继续编辑或修改 基本信息 和 高级设 页签中的指定的值。


OceanBase 触发器对象概述
OceanBase 管理触发器
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }