2 Aralık 2021 Perşembe

UPSERT - MERGE INTO

Örnek - Sadece WHEN NOT MATCHED
Şöyle yaparız
MERGE INTO "ORACLE"."POST_DETAILS"
USING
    (SELECT 1 "one" FROM dual)
ON
    ("ORACLE"."POST_DETAILS"."ID" = 1)
WHEN NOT matched THEN
INSERT (
    "ID",
    "CREATED_BY",
    "CREATED_ON"
)
VALUES (
    1,
    'Alice',
    TIMESTAMP '2017-11-06 16:12:18.407'
)
Örnek - WHEN MATCHED + WHEN NOT MATCHED
Şöyle yaparız. Eğer değer varsa UPDATE yoksa INSERT işletilir.
MERGE INTO [target_table]  USING (SELECT 1 FROM DUAL)
ON [target_table.id = 5]
WHEN MATCHED THEN UPDATE ...
WHEN NOT MATCHED THEN INSERT ...
Bunun şöyle yapıldığını da gördüm. Eğer değer yoksa INSERT işletilir.
MERGE INTO ADV.GSRSYS_PROPERTIES D USING DUAL ON (D.key ='GEORED_STATUS')
  WHEN NOT MATCHED THEN INSERT (D.key,D.value) VALUES ('GEORED_STATUS',null);

Hiç yorum yok:

Yorum Gönder