悬赏贴!sqlserver两表字段同步问题!!(触发器) 100
A表字段:IDnametest11张三100B表字段:IDnametest1test2test31张三100800900更具相同ID同步字段内容,A表字段name,tes...
A表
字段:ID name test1
1 张三 100
B表
字段:ID name test1 test2 test3
1 张三 100 800 900
更具相同ID同步字段内容,A表字段name,test1字段同步到B表,而B表原有的数据test2,test3,保留不变。(需要用触发器做.)
B表同步的内容不能重复.
比如:现在同步了张三、100,添加第二条数据
李四、200 那么同步之后得到的是这样的。
字段:ID NAME TEST1 TEST2 TEST3
1 张三 100 800 900
2 李四 200 展开
字段:ID name test1
1 张三 100
B表
字段:ID name test1 test2 test3
1 张三 100 800 900
更具相同ID同步字段内容,A表字段name,test1字段同步到B表,而B表原有的数据test2,test3,保留不变。(需要用触发器做.)
B表同步的内容不能重复.
比如:现在同步了张三、100,添加第二条数据
李四、200 那么同步之后得到的是这样的。
字段:ID NAME TEST1 TEST2 TEST3
1 张三 100 800 900
2 李四 200 展开
2个回答
展开全部
自己动动手就实现了,很简单的
CREATE TRIGGER [tr_A_Ins] ON [dbo].[A]
FOR INSERT
AS
if exists (select [name] from b where ID in (select ID from inserted)
update B set test1=inserted.test1 from inserted where B.id=inserted.id
else
insert into B(ID,[name],test1) select id,[name],test1 from inserted
go
CREATE TRIGGER [tr_A_Upd] ON [dbo].[A]
FOR update
AS
update B set test1=inserted.test1 from inserted where B.id=inserted.id
go
CREATE TRIGGER [tr_A_Del] ON [dbo].[A]
FOR delete
AS
update B set test1=null from deletedwhere B.id=deleted.id
go
这三个其实可以合起来一个,自己弄吧
追问
可以给我一个完整的吗 就是贴进去 能直接用的
追答
这个贴进去就可以用了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询