牛腩新闻发布系统笔记6:SQL触发器:实现数据的联动删除
2011-08-27 08:30
447 查看
当执行了SQL语句后,自动触发被执行表的触发器,我们可以在这个触发器中添加一些操作,从而实现执行了SQL语句后触发这些操作的目的。创建触发器:
CREATE TRIGGER trigCategoryDAO//触发器名称 ON category//触发器作用域 AFTER DELETE//触发器被DELETE操作触发,就是说,当执行结束DELETE操作后,触发器被触发 AS BEGIN select * from deleted//触发器执行的具体操作 END GO触发器有个临时表deleted:在触发器中添加代码:BEGINselect * from deletedEND当执行删除SQL语句后,那么触发器会把删除后的的数据暂时存储在临时表deleted中。实现类别表和新闻表的联动删除 :
执行SQL语句: delete category where id=5 执行触发器: ALTER TRIGGER [trigCategoryDAO] ON [dbo].[category] instead of DELETE//当执行DELETE语句的时候,不执行DELETE语句,转而执行触发器的内容 AS BEGIN declare @id int select @id=id from deleted//获取delete语句中的id值 //先删除和类别id对应的新闻表 delete news where caId=@id //然后再删除类别 delete category where id=@id END三级联动删除(当删除类别的时候,同时删除和类别包含的新闻以及新闻包含的评论):ALTER TRIGGER [trigCategoryDAO]ON [dbo].[category]instead of DELETEASBEGINdeclare @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
相关文章推荐
- 牛腩新闻发布系统笔记8:新闻评论操作类的实现
- 牛腩新闻发布系统笔记7:类别表操作类的实现
- 牛腩新闻发布系统笔记9:存储过程
- 牛腩新闻发布系统综合笔记(二)
- 牛腩新闻发布系统之验证码的实现
- 牛腩新闻发布系统笔记11:存储过程的编写
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第三篇:新闻发布,新闻修改,新闻删除功能的实现
- 牛腩新闻发布系统笔记4:重构SQLHelper
- 牛腩新闻发布系统笔记10:再次重构SQLHelper
- 【牛腩新闻发布系统】数据表分页显示——真假分页
- 牛腩新闻发布系统笔记5:防止SQL注入以及实体类的使用
- 牛腩新闻发布系统综合笔记(三)
- 牛腩新闻发布系统 整合类别管理页 笔记 ajax的使用
- 【BS学习】牛腩新闻发布系统——验证码的实现
- 项目手记 (三) 牛腩新闻发布系统中期总结
- CMS(新闻发布系统)存放新闻表内容的字段是text,数据过多无法插入,解决办法!
- DRP PK 牛腩新闻发布系统
- [原创视频]牛腩新闻发布系统(续)
- 新闻发布项目——数据实现类(commentDaoImpl)
- 【牛腩新闻发布系统】改变表格的内容