达梦触发器的作用与基本操作
触发器:
一种存储在数据库上的特殊存储过程。建立在某个具体的表或者视图之上,或建立在某事件前后,可自动激发执行。会在用户于某表执行增、删、改的某个操作后被触发执行。
触发器功能:
1、可对表自动进行安全性、完整性检查;
2、可对表进行增、删、改(DML操作)之前或之后的其他处理
3、可进行审计,对表上的操作进行跟踪;
4、实现不同节点之间的数据库同步更新
DM触发器类型:
1、表级触发器:基于表中数据进行触发
2、事件触发器:基于特定系统事件进行触发
3、时间触发器:基于时间触发
创建语法格式(模式必须拥有create trigger权限):
CREATE [OR REPLACE] TRIGGER 触发器名[WITH ENCRYPTION]BEFORE|AFTER|INSTEAD OFDELETE|INSERT|UPDATE [OF 列名]ON 表名[FOR EACH ROW [WHEN 条件]]BEGINDMSQL 程序语句END;
1、实例1
当table1的z1 z2列有插入/删除操作时,自动在table2中插入数值99
create trigger "zyr"."trigger1"
before INSERT or DELETE or UPDATE of "z1","z2"
on "zyr"."TABLE_1"
for each statement
BEGIN/*触发器体*/
insert into "zyr"."TABLE_2" values(99);
END;
在表1中插入数据
insert into "zyr"."TABLE_1" values(2,2);
commit;
2、实例2
修改DMHR模式下的EMPLOUEE的SALARY列的值时,记录修改的用户、时间以及修改前后值保存到T_UPDATEEMPSAL
-- 创建表格T_UPDATESAL用于记录
create table "DMHR"."T_UPDATESAL"
("LOGTIME" DATETIME(6),"OPUSER" VARCHAR(30),"OLDSALARY" INTEGER,"NEWSALARY" INTEGER
);
create OR REPLACE trigger "DMHR"."a" beforeINSERT orDELETE orUPDATE of "SALARY" on "DMHR"."employee" for each row BEGIN/*触发器体*/INSERTINTO"DMHR"."TR_UPDATESAL"("LOGTIME" ,"OPUSER" ,"OLDSALARY","NEWSALARY")VALUES(SYSDATE ,(SELECT USER_NAME FROM V$SESSIONS WHERE STATE = 'ACTIVE' AND SQL_TEXT LIKE '%employee%' LIMIT 1),OLD.SALARY,NEW.SALARY);
END;
3、删除触发器:
--删除zyr模式下的触发器trigger1
DROP TRIGGER "zyr"."trigger1";
达梦社区地址:https://eco.dameng.com
达梦触发器的作用与基本操作相关推荐
- 达梦数据库DCA认证培训经历
初识国产数据库 在公司的新需求驱动下,作为一个技术栈支持的开发岗,我报名参加了达梦公司的DCA认证培训,这是我第一次接触到国产数据库产品,这既是公司数据库技术延展的新领域,更是我的一次数据库技术的探究 ...
- 达梦数据库DCA培训心得
在公司的支持下,我报名参加了达梦公司的DCA认证培训,进行了为期三天的线上培训,这是我第⼀次接触到国产数据库产品. 培训开始,⽼师首先带我们了解了⼀些市场上常见的数据库产品,聊了⼀下国产数据库的现状以 ...
- 达梦8数据库安装小结及问题分析
一.数据库安装准备 环境:操作系统银河麒麟 V10(Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso) 数据库:DM8 (dm8_2021081 ...
- SQL工作笔记-达梦存储过程及时间触发器实现自动生成数据
存储过程和MySQL几乎是一模一样, 如下,使用调用存储过程,为某表插入数据: CREATE OR REPLACE PROCEDURE "大写英文模式名"."大写英文存储 ...
- 达梦数据库的替代(instead of )触发器使用一例
达梦数据库的替代(instead of )触发器使用一例 1. 使用场景说明 2. 场景举例 3. 实现 3.1 创建表 3.2 编写触发器 4.测试 4.1 预期结果 4.2 测试截图 5.结束语 ...
- 达梦数据charindex_更新日志 · dotnetcore/FreeSql Wiki · GitHub
每三个月一次版本号:2.3/2.6/2.9,修复严重 bug 会发布 2.3.x v2.3-preview (myget.org) 增加 Column 特性 RewriteSql/RereadSql: ...
- 达梦dm8可视化工具_DM8(达梦8)数据库安装和使用
达梦8(DM8)数据库入门及使用 to 达梦大学 刘秀君原创,抄袭必究 目录 1 介绍 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库 ...
- 达梦数据库兼容Oracle之SQL语法(一)
对于刚从Oracle数据库转到达梦数据库,SQL语法的使用基本一致,有一些差别,下面总结的一些常用SQL语法差别. 文章目录 1.导入数据 2.返回查询数据的返回行 3 外连接用法 4.多列IN用法 ...
- 达梦8 DCA学习笔记
达梦数据库作为已商业化的国产数据库代表,在政府及事业单位应用还是比较广泛. 最近有幸参加了达梦数据库的课程培训,颇有收获. 期间学习内容有: 1.数据库行业的发展历史和选型: 2.DM8数据库软件安装 ...
最新文章
- js进阶课程 12-9 jquery的事件对象event的方法有哪些?
- 习题2.4 递增的整数序列链表的插入 (15 分)
- [WebService] xml WebService学习1
- 用cn.hutool工具包进行图片上传下载示例
- php创建mysql计划任务_有关创建PHP-MySQL后台任务的建议
- Java 中的目录创建处理
- 前端必须懂的计算机网络知识—(跨域、代理、本地存储)
- 创建SpringBoot项目的两种姿势
- Head First PHP MySQL(中文版)
- 一个校园互联网实验室的纳新试题(我的服务端开发笔试题)
- 径流模拟方法探究——P-Ⅲ频率曲线与copula函数
- 超级搜索术2-人脉搜索/分类整理
- 蓝牙音箱CE FCC是强制的吗
- excel求和怎么操作?这三个简单操作方法,轻松掌握
- 2014年7月份第3周51Aspx源码发布详情
- Windows电脑双屏设置不一样的壁纸
- cmd命令下修复硬盘/U盘
- C/C++文件输入输出(详细介绍)
- 各大网站软件提交入口 |软件发布
- 苏州新导RFID智能仓储管理系统+RFID仓库管理,智能化仓储管理触手可及
热门文章
- android 数组获取指定字符串位置,android – 如何从这个json对象中提取字符串数组?...
- 虚拟机安装【kali】(2018/2021)
- pdf编辑器软件,分享一款考编用的pdf软件,挺合适的!
- 822 翻转卡片游戏
- rabbitlearning下载_RabbitMQ-learning
- [451]pandas.get_dummies 的用法
- 流媒体学习之路(WebRTC)——GCC分析(1)
- AJAX RSS Reader Step by Step Tutorial
- 毕设分享 基于STM32的智能水产养殖系统
- Android12 Zygote的启动流程