取消
顯示的結果
而不是尋找
你的意思是:

如何執行UPCERTS失蹤和刪除目標表的記錄使用MERGE命令?

krish - 685291
新的貢獻者三世

你好,有以下情況。我想執行upcert操作。但隨著upcert,我想刪除源表中缺少的記錄,但在目標表。你可以把它作為一個主數據更新。

  1. 源表包含一個完整的主數據。這是最新的輸入數據。
  2. 目標表包含完整的主數據。這是舊的數據出現在當前數據庫中。
  3. 源可能包含新記錄,更新現有的一些記錄,或一些記錄可能會移除目標相比。
  4. 所以在合並操作,我想更新匹配記錄目標從源代碼,插入新傳入記錄從源和刪除記錄的目標沒有出現在源。如何實現這一磚合並?

我看到類似的操作是可能的MYSQL服務器,如下所示。但磚SQL不支持“源”選項。

——同步刷新數據從源表的目標表

合並產品目標

使用UpdatedProducts作為源

(目標。產品ID = SOURCE.ProductID)

——當記錄匹配,更新記錄如果有任何改變

當匹配和目標。ProductName < >來源。ProductName或目標。率< > SOURCE.Rate

然後更新設置目標。ProductName =來源。ProductName,目標。率= SOURCE.Rate

當沒有匹配的記錄,插入的記錄源表和目標表

當目標相對應

然後插入(ProductID ProductName,率)值(源。ProductID,來源。產品Name, SOURCE.Rate)

——當有一排中存在相同目標和記錄中不存在源然後刪除這個記錄的目標

當沒有匹配的源

然後刪除

謝謝

克利須那神

4回複4

werners1
尊敬的貢獻者三世

當不匹配子句可以隻包含一個插入操作。

如果你想刪除記錄,你應該抓住這些記錄時的匹配子句。

如果你有一個記錄指標(插入、更新、刪除)是可能的。

krish - 685291
新的貢獻者三世

與單一的MERGE命令來刪除任何其他選項,在我們可以執行,所有插入、更新、刪除操作。刪除是刪除目標表的任何陳舊的數據。記錄指標,意味著一個額外的列在數據庫模式?

werners1
尊敬的貢獻者三世

記錄指標的確是一個列包含什麼類型的數據記錄(插入;刪除、更新)。你可能會得到這個從疾病預防控製中心係統,或者你可以構建它自己。

如果你有疾病預防控製中心係統,這很簡單,你可以識別匹配時刪除記錄,所以你可以使用。

否則你將不得不檢測刪除用另一種方式。我做什麼如果沒有疾病預防控製中心係統可用來提取的PK有關表和比較。

性能很好,因為你隻選擇PK(聚集索引)。

PS。我也不會刪除記錄數據湖,我刪除或存檔。

VartikaNain
主持人
主持人

嘿@Krishna Puthran

希望你是好。

隻是想看看你是否能夠找到一個回答你的問題,你想要一個答案標記為最好?它對其他成員也將很有幫助。

幹杯!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map