1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
merge INTO I_PAYS_B hst
USING (SELECT CODE_PAYS, CODE_REGION_MONDIALE,
NOM_LONG_PAYS, NOM_PAYS
FROM I_PAYS_A
minus
SELECT CODE_PAYS, CODE_REGION_MONDIALE,
NOM_LONG_PAYS, NOM_PAYS
FROM I_PAYS_B
WHERE INDIC_ACTIF_H = 1) mvt
ON (mvt.CODE_PAYS = hst.CODE_PAYS)
when matched then
UPDATE SET hst.INDIC_ACTIF_H = 0
WHERE hst.INDIC_ACTIF_H = 1
AND EXISTS (SELECT NULL
FROM (SELECT CODE_PAYS,
CODE_REGION_MONDIALE,
NOM_LONG_PAYS, NOM_PAYS, 1, 1
FROM
(SELECT CODE_PAYS,
CODE_REGION_MONDIALE,
NOM_LONG_PAYS,
NOM_PAYS
FROM I_PAYS_A
MINUS
SELECT CODE_PAYS,
CODE_REGION_MONDIALE,
NOM_LONG_PAYS,
NOM_PAYS
FROM I_PAYS_B
WHERE INDIC_ACTIF_H = 1
)
) SR
WHERE hst.code_pays = sr.code_pays)
when NOT matched then
INSERT ( CODE_PAYS, CODE_REGION_MONDIALE,NOM_LONG_PAYS,
NOM_PAYS, no_version_h, INDIC_ACTIF_H)
values (SELECT CODE_PAYS, CODE_REGION_MONDIALE,
NOM_LONG_PAYS, NOM_PAYS, 1,1
FROM
(SELECT CODE_PAYS, CODE_REGION_MONDIALE,
NOM_LONG_PAYS, NOM_PAYS
FROM I_PAYS_A
MINUS
SELECT CODE_PAYS, CODE_REGION_MONDIALE,
NOM_LONG_PAYS, NOM_PAYS
FROM I_PAYS_B
WHERE INDIC_ACTIF_H = 1
); |