触发器是一种特殊类型的存储过程,它不同于存储过程,触发器主要是通过事件进行触发被自动调用执行的,而存储过程可以通过存储过程的名称而被调用。
触发器分为
1、 after触发器
2、 insert触发器
3、 update触发器
4、 delete触发器
触发器是在对表进行插入、更新、删除的时候会自动执行的存储过程。触发器的功能虽然强大,轻松可靠地实现许多复杂的功能,但是过多触发器会造成数据库及应用程序的维护困难,同时对触发器过分的依赖,会影响数据库的结构,同时增加了维护的复杂程序。
在牛腩新闻发布系统中学习了下触发器的使用,在对表中数据进行删除的时候,先删除其他表中的数据,然后执行删除本表中的数据。
- <span style="font-family:KaiTi_GB2312;font-size:18px;">USE [newssystem]
- GO
- /****** Object: Trigger [dbo].[trigCategoryDelete] Script Date: 2015/2/8 22:48:11 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- =============================================
- -- Author: 马世超
- -- Create date: 2015-2-4
- -- Description: 删除类别触发器
- -- =============================================
- ALTER TRIGGER [dbo].[trigCategoryDelete]
- ON [dbo].[category]
- instead of delete
- AS
- BEGIN
- declare @caId int
- select @caId=id from deleted
- --删除评论
- delete comment where newsId in (select newsId from news where caId=@caId)
- --删除新闻
- delete news where caid=@caId
- --删除类别
- delete category where id=@caId
- END
- </span>
-
顶
- 1
-
踩