创建两张表 1?user?? 2 usercopy
两张表结构相同?,如下图所示:

一:
--创建触发器userinsert1,当user表执行插入操作时,向usercopy表插入同样的数据 IF ( ?object_id('userinsert1','tr') IS NOT NULL ) DROP TRIGGER userinsert1 ;go
CREATE TRIGGER userinsert1 ON dbo.[user] after INSERT AS DECLARE @id INT,@name VARCHAR(100),@age VARCHAR(100); --在inserted表中查询已经插入记录信息 SELECT @id = id,@name = name,@age = age FROM inserted; INSERT usercopy (id,name,age) VALUES (@id,@name,'1212')
--测试插入数据在user表中, INSERT dbo.[user] (id,age) VALUES ('2','test','22') ;
二:
--创建触发器userupdate1,当user表执行更新操作时,usercopy表同样更新数据
IF ( ?object_id('userupdate1','tr') IS NOT NULL ) DROP TRIGGER userupdate1 go
CREATE TRIGGER userupdate1 ON dbo.[user] after UPDATE AS DECLARE @id INT,@age VARCHAR(100); --在inserted表中查询已经更新记录信息 SELECT @id = id,@age = age FROM inserted; UPDATE usercopy set name = @name,age = @age where id = @id ?
--测试更新数据?在user表中 update dbo.[user] set name = 'name',age = '33' where id= '1';
三:
--创建触发器userdelete1,当user表执行删除操作时,usercopy表同样删除数据 IF ( ?object_id('userdelete1','tr') IS NOT NULL ) DROP TRIGGER userdelete1 go
CREATE TRIGGER userdelete1 ON dbo.[user] after DELETE AS DECLARE @id INT,@age VARCHAR(100); --在deleted表中查询已经删除记录信息 SELECT @id = id,@age = age FROM deleted; print @id delete from dbo.[usercopy] where id = @id
--?测试删除数据?在user表中 delete from dbo.[user] where id = '3'
??
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|