背景是这样的
我本地有一个数据库,有表T_A,外面有一个web Server的接口,我需要通过这个接口返回的数据,更新表T_A的信息。 接口所传过来的数据和我的表结构是一样的
第一次,我下载了所有的数据,第二次,我需要匹配每条数据是否有变换,数据中任何一个字段的变化都需要跟新
无变化则不处理,有变化则需要更新
----------------------------- 割掉 小JJ-----------------------------
SQL被我遗忘了一万年,求大大赐语句,谢谢
假设:T_A表中有字段 Id/AA/BB/CC 请以此实例回答,谢谢 临时报佛教,求.....
SELECT 1 FROM T_B WHERE T_B.ID=T_A.ID
)UPDATE T_A
SET AA=T_B.AA
,BB=T_B.BB
,CC=T_B.CC
FROM T_A
INNER JOIN T_B ON T_A.ID=T_B.IDINSERT INTO T_A
SELECT * FROM T_B
WHERE NOT EXISTS(
SELECT 1 FROM T_A WHERE T_A.ID=T_B.ID
)
--tb是你传过来的新表
update T_A set AA=tb.AA,BB=tb.BB,CC=tb.CC
from tb where T_A.id=tb.id and (T_A.AA=tb.AA or T_A.BB=tb.BB or T_A.CC=tb.CC)
update T_A set AA=tb.AA,BB=tb.BB,CC=tb.CC
from tb where T_A.id=tb.id and (T_A.AA!=tb.AA or T_A.BB!=tb.BB or T_A.CC!=tb.CC)
from tb
where T_A.id=tb.id
and checksum(T_A.*) <> checksum(tb.*)