>  기사  >  데이터 베이스  >  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으로 문의하세요.