欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQLServer触发器实例

程序员文章站 2022-04-29 17:44:02
...

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