在写这篇文章之前,xxx已经写过了几篇关于改执行delete主题的文章,想要懂得的朋友可以去翻一下之前的文章
简介
触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当
对一个表进行操纵( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务
规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。(来自百度:原文链接 ) 从上述解释
中,可以懂得到触发器类似于存储过程。但不像存储过程一样由程序调用,而是当更新、删除等对表进行操纵时会自
动触发执行的sql语句。虽不严谨,但大致上就是这个意思。
简单应用
1.创建
CREATE TRIGGER TRIGGER_NAME ON {TABLE_NAME | VIEW_NAME} {FOR | After | Instead of } [ INSERT, UPDATE,DELETE ] AS SQL_Statement
ps:Instead of 替代引发触发的sql语句。
After:用于在执行完update、delete等操纵后执行的的sql语句。除此之外instead of可以应用于视图与表。而
after只能应用于表。
2.删除
DROP TRIGGER trigger_name
3.查询
EXEC trigger_name
示例演示
1.Online_Info 与Offline_Info两个表
2.当向Offline_Info插入数据时;同时将Online_Info表中的雷同卡号(CardNo)的一条数据删除。
3.知识贮备:
Delete、Insert表
这两个表存在于内存中,并非像其他数据库的表存储在数据库中。他们总是与被触发器作用的表的内容一
致。当执行完触发器后,主动删除这两个表的数据。
创建触发器
CREATE TRIGGER deleteOnlineinfo ON Offline_Info FOR INSERT AS BEGIN DELETE Online_Info FROM Online_Info ,inserted WHERE ONLINE_INFO.CardNo =inserted .CardNo END
当执行实现
就会相应的表的触发器节点下生成相应的触发器如图
当新建实现后,当我们向下机表中插入一条记录后。触发器就会主动删除在上机表中雷同卡号的数据。
文章结束给大家分享下程序员的一些笑话语录:
一个合格的程序员是不会写出 诸如 “摧毁地球” 这样的程序的,他们会写一个函数叫 “摧毁行星”而把地球当一个参数传进去。
---------------------------------
原创文章 By
执行和delete
---------------------------------