我是靠谱客的博主 开放小甜瓜,最近开发中收集的这篇文章主要介绍触发器--表同步增删查改,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

sql server  触发器实现多表之间同步增加,删除与更新。

1 、 数据同步增加:

如有两张表--A表和B表,创建触发器使A表插入数据后B表也同步插入数据。其中b表插入数据的字段需要同A表中的字段相对应。

CREATE TRIGGER 触发器名称 
ON A表
AFTER INSERT 
AS BEGIN INSERT INTO 
B表(B表字段1,B表字段2,B表字段3)
SELECT A表字段1,A表字段2,A表字段3 
FROM INSERTED

END

CREATE TRIGGER [dbo].[lumadb0521]    (触发器名称)
ON [dbo].[T_Mob_Reg]  (A表)
AFTER INSERT
AS
begin
INSERT INTO lumadb0521_4.dbo.T_Mob_Reg (B表

SELECT * FROM inserted

end

2、数据同步删除:

两张表 A表B表,创建触发器使当A表删除数据后B表也同步删除数据,其中B表与A表应有相应主键关联。

CREATE TRIGGER 触发器名称 
ON A表 
AFTER DELETE 
AS BEGIN DELETE B表 
WHERE 
B表主键 IN( 
SELECT A表主键
FROM DELETED) 

END

CREATE TRIGGER 触发器名称 
ON [dbo].[T_Mob_Reg]
AFTER DELETE 
AS BEGIN DELETE [lumadb0521_4].[dbo].[T_Mob_Reg] 
WHERE 
[lumadb0521_4].[dbo].[T_Mob_Reg].id IN( 
SELECT id  --A表主键
FROM DELETED) 

END

3、数据同步更新:

AB两张表,创建触发器使当A表数据更新后B表也同步更新数据。

CREATE TRIGGER 触发器名称
ON A表 
AFTER UPDATE 
AS 
update B表
SET 
B.B表字段1=A.A表字段1  
FROM
B表 AS B,INSERTED AS A   

WHERE B.B表主键=A.A表主键

CREATE TRIGGER [dbo].[lumadb0521_update]
ON [dbo].[T_Mob_Reg]
AFTER UPDATE
AS
begin
if update(mobileNo)
begin
update [lumadb0521_4].[dbo].[T_Mob_Reg] 
set mobileNo=d.mobileNo,
                nickName=d.nickName,
     headlmage_ural=d.headlmage_ural
from [lumadb0521_4].[dbo].[T_Mob_Reg] br , inserted  d     --Deleted和Inserted临时表
where br.id=d.id
end  

end

4、修改触发器用 将 create 换成 alter 就ok了。


最后

以上就是开放小甜瓜为你收集整理的触发器--表同步增删查改的全部内容,希望文章能够帮你解决触发器--表同步增删查改所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部