明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 320万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

【SQL触发器】类型 FOR 、AFTER、 Instead of

Posted on   且行且思  阅读(2631)  评论(0编辑  收藏  举报

1、AFTER(for)触发器 (操作后)

after触发器是指在操作成功后,所采取的一些动作!

比如:下面是我创建好的一个after触发器

复制代码
creat trigger [dbo].[T_CaregoryDelete] --触发器的名字为T_CaregoryDelete on [dbo].[caregory] --是caregory类别表的触发器 
after delete --after代表执行删除后执行as后边的语句 

as 

begin 
delete news where caId=(select id from deleted) --激发触发器后我要执行的动作,其中deleted是一个系统默认临时表 

end
复制代码

 

2、instead of 触发器

对数据的操作只是一个“导火索”而已,真正起作用的是触发器里面的动作;往往这种触发器会有很多分支判断语句在里面,根据不用的条件做不同的动作!

INSTEAD OF 触发器用来代替通常的触发动作,即当对表进行INSERT、UPDATE 或 DELETE 操作时,系统不是直接对表执行这些操作,而是把操作内容交给触发器,让触发器检查所进行的操作是否正确。如正确才进行相应的操作。因此,INSTEAD OF 触发器的动作要早于表的约束处理。

真正起作用的是触发器里面的动作,接下来是对应触发器的代码

复制代码
CREATE trigger [dbo].[T_CaregoryDelete] on [dbo].[caregory] 
instead of delete 
as 
begin 

delete news where caId=(select id from deleted) 
delete caregory where id=(select id from deleted) 

end
复制代码

 

 

 

后记:

after触发器是在操作成功后,所采取的一些动作
而对于instead of触发器,真正起作用的是触发器里面的动作!

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2016-03-07 微信:借用微信内置图片浏览功能
点击右上角即可分享
微信分享提示