我是靠谱客的博主 光亮绿草,最近开发中收集的这篇文章主要介绍学习触发器笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

下面是我这个上午学习触发器的结果。
首先是触发器的原型。
CREATE TRIGGER trigger_name
  ON { table | view }
  [ WITH ENCRYPTION ] --加密
  {
  { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] }
    [ WITH APPEND ]--附加
    [ NOT FOR REPLICATION ]--表示当复制进程更改触发器所涉及的表时,不应执行该触发器。
    AS--是触发器要执行的操作。
    [ { IF UPDATE ( column )
      [ { AND | OR } UPDATE ( column ) ]
        [ ...n ]
    | IF ( COLUMNS_UPDATED ( ) -- 测试是否插入或更新了提及的列,仅用于 INSERT 或 UPDATE 触发器中。
       --  COLUMNS_UPDATED 返回 varbinary 位模式,表示插入或更新了表中的哪些列。
  { bitwise_operator } updated_bitmask )
        { comparison_operator } column_bitmask [ ...n ]
    } ]
    sql_statement [ ...n ] --是触发器的条件和操作。触发器条件指定其它准则,以确定 DELETE、INSERT 或 UPDATE 语句是否导致执行触发器操作。
  }
  }

下面是我的一个小例子,希望高手指点。
CREATE TRIGGER myUpdate ON [dbo].[myClient]
FOR UPDATE
AS
declare @date varchar(10),@time varchar(8),@tmp varchar(20)
set @tmp=convert(varchar(20),getdate(),20)
set @date=left(@tmp,10)
set @time=right(@tmp,8)
if (update(serdate))
begin
insert into myLog values (@date,@time)
end

第三,查找数据库中是否有触发器,及触发器的位置(所在表名)
select   a.name   trggername,b.name   tablename   from   sysobjects   a    
  left   join   sysobjects   b    
  on   a.parent_obj=b.id    
  where   a.type   =   'tr'

最后

以上就是光亮绿草为你收集整理的学习触发器笔记的全部内容,希望文章能够帮你解决学习触发器笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部