ホームページ  >  記事  >  データベース  >  SQLServer触发器实例

SQLServer触发器实例

WBOY
WBOYオリジナル
2016-06-07 15:33:251300ブラウズ

以前没写过SqlServer的触发器,折腾了一天,总算写好了,现在记录一下心得。 SqlServer触发器的语法就不提了,主要记录一下主要事项。每个开始都得有Begin 内容 end ,之前不明白这里,写条件触发折腾了好多遍都是不准确,以下是实例: if (object_id('inser

       以前没写过SqlServer的触发器,折腾了一天,总算写好了,现在记录一下心得。

       SqlServer触发器的语法就不提了,主要记录一下主要事项。每个开始都得有Begin  内容  end   ,之前不明白这里,写条件触发折腾了好多遍都是不准确,以下是实例:

     

      if (object_id('insert_black_list', 'tr') is not null)    drop trigger insert_black_list
go
create TRIGGER insert_black_list
    on User_Infor_Message
    after insert
    as
    declare @messagetype varchar(1)
    declare @cardno varchar(10)
    BEGIN
     select @messagetype = messagetype,@cardno=cardno from User_Infor_Message
     if @messagetype='1' or @messagetype='5'
         begin
           if (select count(cardno) from Balck_List where cardno=@cardno)=0
              begin
                insert into Balck_List select Inserted.cardno,Inserted.cardid,convert(varchar(8),getdate(),112) from Inserted
              end
         end
     else if @messagetype='6'
       begin
          delete from Balck_List where cardno=@cardno
       end
    END
 go

     

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。