如有兩張相同表結(jié)構(gòu)的表:
“專業(yè)、務(wù)實(shí)、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個(gè)人一直以來堅(jiān)持追求的企業(yè)文化。 成都創(chuàng)新互聯(lián)公司是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、軟件開發(fā)、設(shè)計(jì)服務(wù)業(yè)務(wù)。我們始終堅(jiān)持以客戶需求為導(dǎo)向,結(jié)合用戶體驗(yàn)與視覺傳達(dá),提供有針對性的項(xiàng)目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!
test表:
test1表:
現(xiàn)在要找出兩張表有差異的數(shù)據(jù),需要用minus及union的方式查找出來,語句如下:
select?t1.*?from
(select?*?from?test
minus
select?*?from?test1)?t1
union?
select?t2.*?from
(select?*?from?test1
minus
select?*?from?test)?t2;
查詢結(jié)果如下,紅框部分的數(shù)據(jù)就是有差異的內(nèi)容。
update a
set a.XXXX = b.XXXXX,a.xxx = b.xxxx,a.xx = b.xxx..........
From infor_plu_pos a, infor_sku b
Where a.c_ht_no b.c_contract_id And a.c_plu_id = b.c_sku_id
這個(gè)是把b表的數(shù)據(jù)update到a表里面
where后面你還可以增加判斷條件
Oracle中的difference函數(shù)的主要用法如下:
DIFFERENCE()?--函數(shù)返回由SOUNDEX?函數(shù)返回的兩個(gè)字符表達(dá)式的值的差異?
--0?兩個(gè)SOUNDEX?函數(shù)返回值的第一個(gè)字符不同?
--1?兩個(gè)SOUNDEX?函數(shù)返回值的第一個(gè)字符相同?
--2?兩個(gè)SOUNDEX?函數(shù)返回值的第一二個(gè)字符相同?
--3?兩個(gè)SOUNDEX?函數(shù)返回值的第一二三個(gè)字符相同?
--4?兩個(gè)SOUNDEX?函數(shù)返回值完全相同
如果想比較不同的話,可以使用如下代碼實(shí)現(xiàn):