天天看點

oracle資料庫,通過MERGE INTO語句 同步資料的用法

使用 MERGE INTO 同步表資料,注意僅限于表關系1對1類型,如一對多編譯無問題,但在執行會報錯

最近再做項目需要做個資料同步的操作,A表有五個字段,要給B表同步其中兩個字段,經過查詢資料發現使用 MERGE INTO語句來實作,廢話不多說,直接開始上sql

MERGE INTO TABLE_A AS A USING TABLE_B AS B ON ( A.‘相同字段’= B.‘相同字段’ ) “WHEN matched THEN” 表示如果存在,然後寫你需要執行的sql,如果不存在 WHEN NOT matched THEN 寫執行的sql

MERGE INTO PMP_ENQUIRY_PRICE A USING PMP_MATERIAL_DETAILED B ON ( A.MATERIAL_CODE = B.DESC12 ) 
	WHEN matched THEN
	UPDATE SET 
	-- 這裡修改是别名A表的哪個字段修改為關聯出B表關聯出的字段
		A.MATERIAL_NAME = B.DESC1
	WHEN NOT matched THEN
	--新增語句  A.ID 表示給 PMP_ENQUIRY_PRICE 表裡新增
	INSERT ( A.ID,A.MATERIAL_CODE, A.MATERIAL_NAME )
  VALUES
	( SYS_GUID(),C.DESC12, C.DESC1);
           
這個sql比較簡單就不再贅述了,希望能幫助到大家