SQL データがあればUpdate なければInsert

merge into ファイルA
using selecr ファイルkeyセットデータ as B
on(a.key = b>key) 
when matched then
Update
when not matched then
Insert

 merge into KS_LOCKTA As A 
 Using (select 2 as HKBN ,'02218' as CD,20230110 as KYMD ,7 as KANO ,1 as KSKBN ) AS B  
 on (A.HKBN = B.HKBN and A.cd = B.CD and A.kymd = B.kymd  and A.KANO = B.KANO and A.KSKBN = B.KSKBN )
 when matched then
 Update set HKBN=B.HKBN, CD = B.CD  , kymd = b.kymd,kano = b.kano ,kskbn= b.kskbn 
 when Not matched then  
 INSERT  (HKBN,CD,KYMD,KANO,KSKBN,LYMD,TNCD)
 VALUES  (B.HKBN,B.CD,B.KYMD,B.KANO,B.KSKBN,20230112,1);

;は必須

MERGE INTO SS_KOKRTA2 AS A
USING (
  SELECT symd,sno,tncd1,tncd2,hkbn,cd ,convert(decimal(30,3),su) / 1000 as su,su as kg,rno
  ,biko,inymd as nymd,inymd as siyoymd,scd=999999,ymd=0,HNO = 0,EDA=0 
  FROM SJ_KOKRTA2 
) B
ON (A.symd = B.symd and a.sno = b.SNO)
WHEN NOT MATCHED THEN
  INSERT (SYMD,SNO,TNCD1,TNCD2,HKBN,CD,SU,KG,RNO
      ,BIKO,NYMD,SIYOYMD,SCD,YMD,HNO,EDA)
  VALUES (B.symd,B.sno,B.tncd1,B.tncd2,B.hkbn,B.cd ,b.su ,B.kg ,B.rno
  ,B.biko,B.nymd,B.siyoymd,B.scd,B.ymd,B.HNO,B.EDA);
カテゴリー sql