sql中两张表A和B,有一列同名都是 id 要求A表中aa列自动取B表中bb列数据,当B表中bb列增加时A表同时更新 10
表AIDAANUMBER1222222222表BIDBBHH122455在表B增加新的行时,表A的aa列自动取表B的bb列数据要B表插入数据的时候,A表自动插入数据,B表...
表A
ID AA NUMBER
1 22 2222222
表B
ID BB HH
1 22 455
在表B增加新的行时,表A 的aa列自动取表B的bb列数据
要B表插入数据的时候,A表自动插入数据,B表数据更新的时候,A表数据也更新,
麻烦老大们写个触发器参考下 展开
ID AA NUMBER
1 22 2222222
表B
ID BB HH
1 22 455
在表B增加新的行时,表A 的aa列自动取表B的bb列数据
要B表插入数据的时候,A表自动插入数据,B表数据更新的时候,A表数据也更新,
麻烦老大们写个触发器参考下 展开
4个回答
展开全部
前提条件 B数据条数大于A
declare @num int,@count int
Set @num=1;
SET @count=(select MAX(ID) from A);--获取A最大ID,ID是自动增长
PRINT @COUNT
while(@num<=@count)
BEGIN
--更新数据
update A SET NAME=(select Name from B where ID=@num) where ID=@num
SET @num=@num+1
PRINT @num
END
print '更新后的表:'
SELECT * FROM A
--2插入A表没有是数据:
insert into A(NAME)(select NAME from B WHERE ID not IN (SELECT TOP(@count) ID FROM B))
PRINT '插入后的表:'
SELECT * FROM A
declare @num int,@count int
Set @num=1;
SET @count=(select MAX(ID) from A);--获取A最大ID,ID是自动增长
PRINT @COUNT
while(@num<=@count)
BEGIN
--更新数据
update A SET NAME=(select Name from B where ID=@num) where ID=@num
SET @num=@num+1
PRINT @num
END
print '更新后的表:'
SELECT * FROM A
--2插入A表没有是数据:
insert into A(NAME)(select NAME from B WHERE ID not IN (SELECT TOP(@count) ID FROM B))
PRINT '插入后的表:'
SELECT * FROM A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首选触发器,触发器就三种情况,新增时、删除时、修改时
完全可以满足你的需求
完全可以满足你的需求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是希望B表插入数据的时候,A表自动插入数据?
还是希望B表数据更新的时候,A表数据更新?
还是希望B表数据更新的时候,A表数据更新?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用触发器实现就可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询