本人是在公司負責運維的犯了個大錯誤,也是SQL小白。
在后臺SQL修改了ERP資料資料庫存名為ERP,但不記得修改了哪些資料。
比如表INVLA 修改了里面的資料,現要找出修改了多少條分別修改了哪些?
資料有備份,我恢復了現重新命名一個資料庫名 TEST。
INVLA 表的欄位是LA001-----LA10
LA001,LA002,LA003 是關鍵值沒修改,只修改了LA006,LA007,LA008
現求如何寫陳述句拉出修改過的資料并還原,急在線等。
uj5u.com熱心網友回復:
找個資料庫比對工具進行對比即可,比如VS的工具里就有uj5u.com熱心網友回復:
加一列標志,用update陳述句更新這個標志uj5u.com熱心網友回復:
--先查詢看是不是你修改的那些記錄
SELECT A.LA001 AS LA001_A,A.LA002 AS LA002_A,A.LA003 AS LA003_A,A.LA006 AS LA006_A,A.LA007 AS LA007_A,A.LA008 AS LA008_A
B.LA001 AS LA001_B,B.LA002 AS LA002_B,B.LA003 AS LA003_B,B.LA006 AS LA006_B,B.LA007 AS LA007_B,B.LA008 AS LA008_B
FROM TEST.DBO.INVLA A
JOIN ERP.DBO.INVLA B ON A.LA001=B.LA001 AND A.LA002=B.LA002 AND A.LA003=B.LA003
WHERE A.LA006<>B.LA006 OR A.LA007<>B.LA007 OR A.LA008<>B.LA008
--如果以上查詢的結果正確,就用下面的更新
UPDATE ERP.DBO.INVLA
SET LA006=A.LA006,
LA007=A.LA007,
LA008=A.LA008
FROM TEST.DBO.INVLA A
JOIN ERP.DBO.INVLA B ON A.LA001=B.LA001 AND A.LA002=B.LA002 AND A.LA003=B.LA003
WHERE A.LA006<>B.LA006 OR A.LA007<>B.LA007 OR A.LA008<>B.LA008
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/60466.html
標籤:應用實例
下一篇:征求各路大神意見
