机房重构——触发器

   触发器我从开始看的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 );

   感谢大家的访问,如有其他建议可以评论,将积极改整。

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值