创建两张表 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'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。