SQL Server—触发器
1、触发器的定义:可以理解为因为发生了某一件事情,而自动的发生了下一件事情。
2、触发器的分类
(1)“instead of”触发器:在执行操作之前被执行。–事前触发器
(2)“after”触发器:在执行操作之后被执行。 –事后触发器
/*
instead:替代/而不是…/代替/反而
instead of:而不是
*/
举例:假设有部门表和员工表,在添加员工的时候,该员工的部门编号如果在部门表中找不到,则自动添加部门信息,部门名称为”新部门”。
create trigger tri_InsertPeople on People after insert
as
if not exists(select * from Department where DepartmentId = (select DepartmentId from inserted))
begin
insert into Department(DepartmentId,DepartmentName)
values((select DepartmentId from inserted),'新部门')
end
go
/*
trigger:引发 / 开动 / 触发
tri_InsertPeople是触发器的名字
*/
举例:创建一个触发器,删除一个部门的时候判断该部门下是否有员工,有则不删除,没有则删除。
create trigger tri_DeleteDept on Department instead of delete
as
if not exists(select * from People where DepartmentId = (select DepartmentId from deleted))
delete from Department where DepartmentId = (select DepartmentId from deleted)
go
举例:触发器实现,删除一个部门的时候将部门下所有员工全部删除。
create trigger tri_DeleteDept on Department after delete
as
delete from People where DepartmentId = (select DepartmentId from deleted)
go
举例:修改一个部门编号之后,将该部门下所有员工的部门编号同步进行修改
create trigger tri_UpdateDept on Department after update
as
update People set DepartmentId = (select DepartmentId from inserted)
where DepartmentId = (select DepartmentId from deleted)
go
注意:在项目中不要过多的使用触发器,触发器的使用需要谨慎再谨慎!!
如果有多个表之间存在触发器,删除一个表内的数据,有可能会删除其他表的数据(但这个表的数据是你并不想删除的)。
1.本站所有资源收集于互联网和用户上传,如有侵权请联系客服删除;
2.本站不保证所提供下载资源的准确性、安全性和完整性,请自行测试;
3.资源仅供学习交流使用,版权归原作者所有,请在下载后24小时之内删除;
4.如用于商业或非法用途实属个人行为,与本站无关,一切后果由用户自负;
5.本站提供的源码、主题模板、插件等资源,都不包含技术服务,请大家谅解;
6.本站所设置的资源售价只是用于赞助,收取费用仅维持本站的日常运营所需;
7.如果您有好的源码或者教程,请至个人中心发布资源,将有积分奖励和额外收入;
8.本站默认解压密码:www.ittiantang.com,如有链接无法下载,请联系管理员处理。
IT天堂 » SQL Server—触发器
2.本站不保证所提供下载资源的准确性、安全性和完整性,请自行测试;
3.资源仅供学习交流使用,版权归原作者所有,请在下载后24小时之内删除;
4.如用于商业或非法用途实属个人行为,与本站无关,一切后果由用户自负;
5.本站提供的源码、主题模板、插件等资源,都不包含技术服务,请大家谅解;
6.本站所设置的资源售价只是用于赞助,收取费用仅维持本站的日常运营所需;
7.如果您有好的源码或者教程,请至个人中心发布资源,将有积分奖励和额外收入;
8.本站默认解压密码:www.ittiantang.com,如有链接无法下载,请联系管理员处理。
IT天堂 » SQL Server—触发器
常见问题FAQ
- IT天堂的会员权益只能通过充值获得吗?
- 您可以通过签到功能获得积分,用积分兑换会员权益。
- 网站上的VIP资源只能通过充值购买吗?
- 您可以通过每日签到获得积分,使用积分直接购买VIP资源。