触发器我从开始看的SQL书籍,SQL视频,到数据库自考,这个概念在我无数次的出现在我的眼前直到现在我才在我的程序中使用到这一知识点.
从我开始机房重构的时候什么都不知道,到现在的创建使用触发器,经历很多!回顾了以前无数的知识,看视频、看书。终于修成正果。
使用触发器,我是这样是用的,当我们机房下机的时候就会有两个事情要做,第一下机(删除在线表中的数据)第二添加上机记录(添加上机记录表信息)我们需要对两个表进行操作。
如果写7层你就知道多么的麻烦对两个表操作(不用存储过程的情况下),用触发器就很好的解决了这个问题,只需要添加上机记录,触发器就会接受到你添加上机记录的行为,就会把在线的表中的信息删除掉。
**重点内容 写在SQL中的代码创建触发器中**
create trigger deleteUserID '创建一个叫delecUserID的触发器
on LineState_Info '在LineState这张表中
for insert '触发事件是Insert (添加记录)事件
as
delete from Admin_Info '删除Admin表中的
where UserID in (select UserID from inserted) '学号为添加记录中的UserID的记录
触发器模板 在一个表中共添加一条记录,删除另一表中一条相关记录
create trigger 触发器名字 '创建一个的触发器
on 表名(对那个表操作写那个表名) '在某个表中
for 触发的事件(增 删 改) '触发事件是(增 删 改)事件
as
delete from 另一个表名 '删除某给表中的
where 列名 in (select 列名(和前一个列名一致) from 触发事件) '为添加记录中的标识
这些代码只需要你打开SQL,新建查询,按上面所写建一个触发器就可以检验你的成果能够了。
删除的例子
create trigger DeleteUser
on Line_Info
for delete
as
DELETE FROM Admin_Info
WHERE UserID IN ( SELECT UserID FROM deleted ) and Level in ( SELECT Level FROM deleted );
感谢大家的访问,如有其他建议可以评论,将积极改整。