以前没写过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