触发器是一类特殊的存储过程,开发人员也可以定义、编写符合业务需求的触发器来维护数据的完整性。触发器的控制流程及控制语句与存储过程相同,但触发器与存储过程还是有相当大的差别,触发器的定义格式及开启方式与存储过程不同,作为数据管理员或编程人员,熟练掌握触发器的用法对维护、 *** 作数据库非常重要。基本语法1.创建触发器语法格式创建语法:CREATETRIGGER+触发器名称+触发时间点+触发事件+ON+表名+FOREACHROWBEGIN…END其中,触发时间点:BEFORE或AFTER,指明是在触发事件之前还是之后执行。
触发事件:INSERT、UPDATE、DELETE事件。例如,以下语句创建一个名字叫upd_check的触发器,其在对account表作更新(UPDATE) *** 作之前(BEFORE)自动触发。
CREATETRIGGERupd_checkBEFOREUPDATEONaccountFOREACHROWBEGIN…END2.删除触发器语法格式DROPTRIGGER+触发器名称3.触发器案例用tab.sql脚本创建表环境,然后用下面语句创建触发器。当往tab1表添加记录后将触发此触发器,将此新记录同时插入tab2表中。
DELIMITER//DROPTRIGGERIFEXISTSt_afterinsert_on_tab1CREATETRIGGERt_afterinsert_on_tab1AFTERINSERTONtab1FOREACHROWBEGINinsertintotab2(tab2_id)values(new.tab1_id)END//DELIMITER当用下面语句往tab1表插入记录时,tab2表中同时也添加了同样的记录,如图tab1数据表
tab1数据表
tab2数据表
INSERTINTOtab1(tab1_id)values('0001')
tab.sql
工具/材料SQL SERVER 2008
01首先打开SQL SERVER 2008数据库管理工具,然后选择服务器,选择Windows身份验证进行连接,如下图所示
02进入管理工具以后,定位要 *** 作的数据库,然后点击新建查询,如下图所示
03在新建查询界面中,通过create trigger语句创建DLL触发器,当进行数据库删除和修改的时候进行触发,如下图所示
04语句编写好了以后,点击工具栏中的执行命令,如果消息中显示命令已成功完成则创建成功,如下图所示
05然后我们打开数据库触发器文件夹,你就会看到你所创建的触发器名称,如下图所示
06接下来我们演示触发器的作用,在查询界面中我们通过drop语句删除一个数据库,执行后出现如下的提示,这就是我们触发器的提示,如下图所示
07然后我们在来看看数据库列表中所删除的数据库是否还存在,如下图所示,数据库没有删除,说明触发器已经把 *** 作回滚了
mysql中,触发器只能查看,无法修改,如果要修改,只能删除原有的触发器,重新创建触发器,以达到修改的目的。
工具:Navicat Premiu
步骤:
1、正确安装Navicat Premiu,并确保连接到指定的数据库。
2、以连接本地数据库localhost中的badkano数据库为例。
3、点击软件上方的查询-新建查询。
4、先执行SHOW TRIGGERS,查看数据库中的触发器。
5、如果要修改触发器,需要删除掉这个触发器。执行语句为:
DROP TRIGGER t_afterdelete_on_tab16、然后重新创建即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)