hi all,
below, an example of MERGE statement, I hope this help…
MERGE INTO
IMMOVAL_MAPP_LOCBAIL IML1 – TARGET TABLE
USING
(SELECT
IMLN.BAIL_DIRECT,
IMLN.BAIL_GEST_NO,
IMLN.BAIL_IMME_NO,
IMLN.BAIL_NO,
IMLN.BAIL_LOCA_NOM,
IMLN.BAIL_LOTP,
IMLN.GLOL_LOTS_NO,
IMLN.LOTS_DESIGNATION,
IMLN.LOTS_SURFACE,
IMLN.GEST_EXT,
IMLN.IMME_NO_EXT,
IMLN.LOCAT_EXT,
IMLN.BAIL_EXT,
IMLN.“LOCA NOM EXT”,
IMLN.BAIL_GLOG_DIRECT,
IMLN.BAIL_ENTREE_DATE,
IMLN.BAIL_SORTIE_V_DATE,
IMLN.“TYPE LOT”
FROM
IMMOVAL_MAP_LOCBAIL_NEW IMLN --SOURCE TABLE
WHERE
IMLN.LOCAT_EXT <> ‘DESYNC’ and IMLN.BAIL_EXT <> ‘DESYNC’) NOUVEAU
ON
(IML1.BAIL_DIRECT||’’||IML1.GLOL_LOTS_NO = NOUVEAU.BAIL_DIRECT||’’||NOUVEAU.GLOL_LOTS_NO)
WHEN MATCHED
THEN
UPDATE SET IML1.LOCAT_EXT = NOUVEAU.LOCAT_EXT,
IML1.BAIL_EXT = NOUVEAU.BAIL_EXT
WHEN NOT MATCHED
THEN
INSERT(
IML1.BAIL_DIRECT,
IML1.BAIL_GEST_NO,
IML1.BAIL_IMME_NO,
IML1.BAIL_NO,
IML1.BAIL_LOCA_NOM,
IML1.BAIL_LOTP,
IML1.GLOL_LOTS_NO,
IML1.LOTS_DESIGNATION,
IML1.LOTS_SURFACE,
IML1.GEST_EXT,
IML1.IMME_NO_EXT,
IML1.LOCAT_EXT,
IML1.BAIL_EXT,
IML1.“LOCA NOM EXT”,
IML1.BAIL_GLOG_DIRECT,
IML1.BAIL_ENTREE_DATE,
IML1.BAIL_SORTIE_V_DATE)
VALUES
(
NOUVEAU.BAIL_DIRECT,
NOUVEAU.BAIL_GEST_NO,
NOUVEAU.BAIL_IMME_NO,
NOUVEAU.BAIL_NO,
NOUVEAU.BAIL_LOCA_NOM,
NOUVEAU.BAIL_LOTP,
NOUVEAU.GLOL_LOTS_NO,
NOUVEAU.LOTS_DESIGNATION,
NOUVEAU.LOTS_SURFACE,
NOUVEAU.GEST_EXT,
NOUVEAU.IMME_NO_EXT,
NOUVEAU.LOCAT_EXT,
NOUVEAU.BAIL_EXT,
NOUVEAU.“LOCA NOM EXT”,
NOUVEAU.BAIL_GLOG_DIRECT,
NOUVEAU.BAIL_ENTREE_DATE,
NOUVEAU.BAIL_SORTIE_V_DATE)
– WHERE
– (field = condition);
Regards.
Franck