浅入浅出SQL Server 触发器

什么是触发器

简单的来说,在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。

触发器的创建

常见的触发器有三种,分别对应于Insert 、Update、Delete事件。
怎么创建触发器呢?在牛腩新闻发布系统中,就需要创建触发器,但是按照视频的操作步骤,我的Sql Server不能直接创建触发器。
浅入浅出SQL Server 触发器_第1张图片
当我右键触发器的时候,我的新建触发器的按钮是灰色的!所以就只能用SQL语句来创建了!
1.点击需要创建触发器的数据库,新建查询!
2.输入以下代码、
(背景:在牛腩新闻发布系统中,需要删除新闻分类 category 表中的分类,但是这个表和新闻表还有评论表存在外键,所以在删除分类的时候会报错!所以需要建立触发器,在执行删除新闻分类的时候,先删除该新闻分类下的所有评论,还有该新闻下的所有新闻,然后最后删除这个新闻类别!)

--Author(作者):曹*铭
 --Create Date(时间):2018.11.10
  --Description(名称):
   ALTER TRIGGER [dbo].[trigCategoryDelete] --触发器名称
   on [dbo].[category] --选择要建立触发器的表 
   instead of DELETE --触发条件 插入/删除/更新(任选一个)
    AS --伴随 
	BEGIN --开始执行
		declare @caId int --定义一个参数
		select @caId=id from deleted --从已经删除的临时表中选出id等于这个参数的数据
		--删除评论
		delete comment where newsId in(select newsId from news where caId=@caId)
		--删除新闻
	    delete news where caId =@caId
		--删除类别
		delete category where id=@caId--此处填写触发器要执行的SQL语句(比如,查找刚刚执行删除的内容)

	  END --结束 

你可能感兴趣的:(牛腩新闻发布系统)