数据库——触发器

触发器 (trigger) 是一种数据库中,在对数据库操作时,先行拦截并处理的部件,它大部份会设置在数据表中,作为强制执行特定动作的程序,因此又称为 DML Trigger。

触发器的好处有:

  • 可在写入数据表前,强制检验或转换资料。
  • 觸發程序發生錯誤時,異動的結果會被撤銷。
  • 部份資料庫管理系統可以針對資料定義語言使用觸發程序,稱為 DDL Trigger。
  • 可依照特定的情況,替換異動的指令 (INSTEAD OF)。


DML 觸發程序可以分為數種:

  • BEFORE: 在異動發生前執行。
  • AFTER: 在異動發生後執行。
  • INSTEAD OF: 替换。


SQL Server 的 DML 觸發程序可利用下列語法建立[1]

CREATE TRIGGER reminder2
ON Sales.Customer
AFTER INSERT, UPDATE, DELETE 
AS
   EXEC msdb.dbo.sp_send_dbmail
        @profile_name = 'AdventureWorks Administrator',
        @recipients = 'danw@Adventure-Works.com',
        @body = 'Don''t forget to print a report for the sales force.',
        @subject = 'Reminder';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值