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
| --MAJ DES INFOS IMMEUBLES
DECLARE
err_msg varchar2(128);
BEGIN
FOR r IN (SELECT bl_id from INT_I9_TEMP_BL WHERE INT_I9_TEMP_BL.bl_id IN ( SELECT bl_id from BL) and data_valid = 1 order by bl_id)
LOOP
BEGIN
--La totale
UPDATE bl SET (CTRY_ID,site_id,city_id,address1,address2,zip,contact_phone,name,ril) =
(SELECT DISTINCT ctry_id,site_id,city_id,address1,address2,zip,contact_phone,bl_name,ril
FROM INT_I9_TEMP_BL WHERE INT_I9_TEMP_BL.bl_id = r.bl_id and data_codeiso3 = 0 AND data_pole = 0);
--Sans pays
UPDATE bl SET (site_id,city_id,address1,address2,zip,contact_phone,name,ril) =
(SELECT DISTINCT site_id,city_id,address1,address2,zip,contact_phone,bl_name,ril
FROM INT_I9_TEMP_BL WHERE INT_I9_TEMP_BL.bl_id = r.bl_id and data_codeiso3 = 1 AND data_pole = 0);
--Sans site
UPDATE bl SET (CTRY_ID,city_id,address1,address2,zip,contact_phone,name,ril) =
(SELECT DISTINCT ctry_id,city_id,address1,address2,zip,contact_phone,bl_name,ril
FROM INT_I9_TEMP_BL WHERE INT_I9_TEMP_BL.bl_id = r.bl_id and data_codeiso3 = 0 AND data_pole = 1);
--Sans site et sans pays
UPDATE bl SET (city_id,address1,address2,zip,contact_phone,name,ril) =
(SELECT DISTINCT city_id,address1,address2,zip,contact_phone,bl_name,ril
FROM INT_I9_TEMP_BL WHERE INT_I9_TEMP_BL.bl_id = r.bl_id and data_codeiso3 = 1 AND data_pole = 1);
--valide la MAJ
UPDATE INT_I9_TEMP_BL set data_bl_upd = 0 WHERE INT_I9_TEMP_BL.bl_id = r.bl_id;
EXCEPTION
WHEN OTHERS THEN
err_msg := sqlerrm;
UPDATE INT_I9_TEMP_BL set data_bl_upd = 1,
data_error = 5,
data_comments = ('Erreur lors de la mise à jour de l immeuble '||err_msg) -- erreur type5
WHERE INT_I9_TEMP_BL.bl_id = r.bl_id;
INSERT INTO LOG_I9_BL (log_date, log_type, log_comments, bl_id,name,address1,address2,contact_phone,site_id,city_id,state_id,zip,ctry_id)
SELECT today, 'ERROR' ,data_comments, bl_id,name,address1,address2,contact_phone,site_id,city_id,state_id,zip,ctry_id from INT_I9_TEMP_BL
WHERE INT_I9_TEMP_BL.bl_id = r.bl_id;
END;
END LOOP;
commit;
END;
-- FIN DE MAJ DES INFOS IMMEUBLES |
Partager