SQL server2005如何创建一个触发器,要求实现显示对表插入,删除,修改所影响行的信息

触发器... 触发器 展开
 我来答
苏打0016
2014-06-19 · 超过55用户采纳过TA的回答
知道答主
回答量:108
采纳率:0%
帮助的人:134万
展开全部
---创建测试表: Create Table MyTest( id int identity(1,1) not null primary key, [name] varchar(100) null ) --创建触发器: CREATE TRIGGER trigtest--创建触发器trigtest ON mytest--在表mytest上建 for INSERT,DELETE,UPDATE--为插入,删除,修改 AS BEGIN declare @a int, @b int, @id int, @name varchar(100), @oldId int,--原ID号 @oldName varchar(100)--原来的name set @a=0 set @b=0 if exists(select * from inserted)--如果存在插入新的数据则设置@a=1 begin set @a=1 end if exists(select * from deleted)--如果存在删除数据则设置@b=1 begin set @b=1 end if (@a=1)and(@b=0)--新增:当插入表inserted存在数据而删除表deleted不存数据时,为新增操作。 begin select @id=id,@name=name from inserted print '增加了ID号为【'+cast(@id as varchar(5))+'】Name为【'+@name+'】的数据!' end if (@a=1)and(@b=1)--修改:当插入表insertedt和删除表deleted都存在数据时,为修改操作。 begin select @id=id,@name=name from inserted select @id=id,@oldname=name from deleted print '修改了ID号为【'+cast(@id as varchar(5))+'】的数据Name由【'+@oldname+'】变为【'+@name+'】' end if (@a=0)and(@b=1)--删除:当插入表inserted不存在数据而删除表deleted存在数据时,为删除操作。 begin select @id=id,@name=name from deleted print '删除了ID号为【'+cast(@id as varchar(5))+'】Name为【'+@name+'】的数据!' end END
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式