SQL SERVER 触发器

本文介绍了SQL Server中触发器的语法,包括INSERT、UPDATE或DELETE触发器的限制。强调了COLUMNS_UPDATED函数在检测列变更中的作用。同时,探讨了触发器的特性,如不可返回数据给用户,以及在触发器中使用Deleted和Inserted临时表的重要性。还提供了一个实例,展示了如何在插入操作中利用触发器自动填充相关数据。
摘要由CSDN通过智能技术生成

语法

CREATE TRIGGER trigger_name  -- 触发器名称必须符合标识符规则,并且在数据库中必须唯一。可以选择是否指定触发器所有者名称。
ON { table | view }  -- 可以选择是否指定表或视图的所有者名称。
[ WITH ENCRYPTION ]  -- 加密触发器
{
      --for=after, 不能在视图上定义 AFTER 触发器。
     --INSTEAD OF指定执行触发器而不是执行触发 SQL 语句,从而替代引起触发器sql语句的操作。
    { { FOR | AFTER | INSTEAD OF } { [ INSERT ][ , ] [DELETE]  [ , ] [ UPDATE ] } 
        [ WITH APPEND ]     -- 指定应该添加现有类型的其它触发器
        [ NOT FOR REPLICATION ]  --当复制进程更改触发器所涉及的表时,不应执行该触发器。
        AS          -- 触发器要执行的操作
        [ { IF UPDATE ( column )
            [ { AND | OR } UPDATE ( column ) ]
                [ n ]
          -- bitwise_operator 是用于比较运算的位运算符
        | IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
                { comparison_operator } column_bitmask [ n ]
        } ] 
        sql_statement [ n ] 
    } 
} 

注:{}表示必须选择内部一值,[ ]表示可选字段

INSTEAD OF:在表或视图上,每个 INSERT、UPDATE 或 DELETE 语句最多可以定义一个 I

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值