牛腩新闻发布系统笔记6:SQL触发器:实现数据的联动删除
来源:互联网 发布:人工智能无人驾驶飞机 编辑:程序博客网 时间:2024/05/08 11:42
当执行了SQL语句后,自动触发被执行表的触发器,我们可以在这个触发器中添加一些操作,从而实现执行了SQL语句后触发这些操作的目的。
创建触发器:
CREATE TRIGGER trigCategoryDAO//触发器名称 ON category//触发器作用域 AFTER DELETE//触发器被DELETE操作触发,就是说,当执行结束DELETE操作后,触发器被触发AS BEGINselect * from deleted//触发器执行的具体操作ENDGO
触发器有个临时表deleted:
在触发器中添加代码:
BEGIN
select * from deleted
END
当执行删除SQL语句后,那么触发器会把删除后的的数据暂时存储在临时表deleted中。
实现类别表和新闻表的联动删除 :
执行SQL语句:delete category where id=5执行触发器:ALTER TRIGGER [trigCategoryDAO] ON [dbo].[category] instead of DELETE//当执行DELETE语句的时候,不执行DELETE语句,转而执行触发器的内容ASBEGINdeclare @id intselect @id=id from deleted//获取delete语句中的id值//先删除和类别id对应的新闻表delete news where caId=@id//然后再删除类别delete category where id=@idEND
三级联动删除(当删除类别的时候,同时删除和类别包含的新闻以及新闻包含的评论):
ALTER TRIGGER [trigCategoryDAO] ON [dbo].[category] instead of DELETEAS BEGINdeclare @caId intselect @caId=id from deleted--删除评论delete comment where newsId in (select newsId from news where caId=@caId)//注意,这里用in,因为一个新闻的newsId 可能包含很多评论--删除新闻delete news where caId=@caId--删除类别delete category where id=@caIdEND
- 牛腩新闻发布系统笔记6:SQL触发器:实现数据的联动删除
- 【牛腩新闻发布系统】--触发器
- 牛腩新闻发布系统——触发器
- 牛腩新闻发布系统笔记8:新闻评论操作类的实现
- 牛腩新闻系统的发布
- 牛腩新闻发布系统笔记5:防止SQL注入以及实体类的使用
- 【牛腩新闻发布系统】无法建立与SQL的链接
- 【牛腩新闻发布系统】SQL注入
- 【牛腩新闻发布系统】--防止sql注入
- 牛腩新闻发布系统笔记11:存储过程的编写
- 牛腩新闻发布系统笔记7:类别表操作类的实现
- 牛腩新闻发布系统之验证码的实现
- 牛腩新闻发布系统(1)——浅入浅出SQL触发器
- 牛腩新闻发布系统
- 牛腩新闻发布系统
- 牛腩新闻发布系统
- 牛腩新闻系统发布
- 牛腩新闻发布系统
- 程序实现调用迅雷(以C#为例)
- 如何学好C++语言
- Ubuntu下如何安装editplus
- EveryDay English
- CRC校验的快速算法的C语言实现
- 牛腩新闻发布系统笔记6:SQL触发器:实现数据的联动删除
- 利用WebService实现远程服务器文件的上传和下载
- C#基础概念二十五问
- [siggraph2011]使命召唤之黑色行动中的光照技术
- 网页中flash wmode属性你会用吗?
- JVM垃圾回收策略
- oracle 诊断语句
- hdu 1004 (HDU开始之路)
- android UI进阶之android中隐藏的layout 抽屉的运用