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
| CREATE OR REPLACE TRIGGER TRG_INSERT_DELIV_PTS
AFTER INSERT OR UPDATE ON MV_SUPPLY_PTS
DECLARE
BEGIN
DELETE FROM ADMP_DELIV_PTS;
--execute immediate 'TRUNCATE TABLE ADMP_DELIV_PTS';
INSERT INTO (SELECT LIB_DELIV_PTS, ID_SUPPLY_PTS, SSRRAANOEUD, POSTE, X_GEOM, Y_GEOM FROM ADMP_DELIV_PTS)
(SELECT SUBSTR(SSRRAANOEUD,1,4) || SUBSTR(POSTE01,1,5), ENTITYID, SSRRAANOEUD, 'POSTE01', X_GEOM, Y_GEOM
FROM MV_SUPPLY_PTS WHERE POSTE01 is NOT NULL);
INSERT INTO (SELECT LIB_DELIV_PTS, ID_SUPPLY_PTS, SSRRAANOEUD, POSTE, X_GEOM, Y_GEOM FROM ADMP_DELIV_PTS)
(SELECT SUBSTR(SSRRAANOEUD,1,4) || SUBSTR(POSTE02,1,5), ENTITYID, SSRRAANOEUD, 'POSTE02', X_GEOM, Y_GEOM
FROM MV_SUPPLY_PTS WHERE POSTE02 is NOT NULL);
INSERT INTO (SELECT LIB_DELIV_PTS, ID_SUPPLY_PTS, SSRRAANOEUD, POSTE, X_GEOM, Y_GEOM FROM ADMP_DELIV_PTS)
(SELECT SUBSTR(SSRRAANOEUD,1,4) || SUBSTR(POSTE03,1,5), ENTITYID, SSRRAANOEUD, 'POSTE03', X_GEOM, Y_GEOM FROM MV_SUPPLY_PTS WHERE POSTE03 is NOT NULL);
INSERT INTO (SELECT LIB_DELIV_PTS, ID_SUPPLY_PTS, SSRRAANOEUD, POSTE, X_GEOM, Y_GEOM FROM ADMP_DELIV_PTS)
(SELECT SUBSTR(SSRRAANOEUD,1,4) || SUBSTR(POSTE04,1,5), ENTITYID, SSRRAANOEUD, 'POSTE04', X_GEOM, Y_GEOM FROM MV_SUPPLY_PTS WHERE POSTE04 is NOT NULL);
INSERT INTO (SELECT LIB_DELIV_PTS, ID_SUPPLY_PTS, SSRRAANOEUD, POSTE, X_GEOM, Y_GEOM FROM ADMP_DELIV_PTS)
(SELECT SUBSTR(SSRRAANOEUD,1,4) || SUBSTR(POSTE05,1,5), ENTITYID, SSRRAANOEUD, 'POSTE05', X_GEOM, Y_GEOM FROM MV_SUPPLY_PTS WHERE POSTE05 is NOT NULL);
INSERT INTO (SELECT LIB_DELIV_PTS, ID_SUPPLY_PTS, SSRRAANOEUD, POSTE, X_GEOM, Y_GEOM FROM ADMP_DELIV_PTS)
(SELECT SUBSTR(SSRRAANOEUD,1,4) || SUBSTR(POSTE06,1,5), ENTITYID, SSRRAANOEUD, 'POSTE06', X_GEOM, Y_GEOM FROM MV_SUPPLY_PTS WHERE POSTE06 is NOT NULL);
INSERT INTO (SELECT LIB_DELIV_PTS, ID_SUPPLY_PTS, SSRRAANOEUD, POSTE, X_GEOM, Y_GEOM FROM ADMP_DELIV_PTS)
(SELECT SUBSTR(SSRRAANOEUD,1,4) || SUBSTR(POSTE07,1,5), ENTITYID, SSRRAANOEUD, 'POSTE07', X_GEOM, Y_GEOM FROM MV_SUPPLY_PTS WHERE POSTE07 is NOT NULL);
INSERT INTO (SELECT LIB_DELIV_PTS, ID_SUPPLY_PTS, SSRRAANOEUD, POSTE, X_GEOM, Y_GEOM FROM ADMP_DELIV_PTS)
(SELECT SUBSTR(SSRRAANOEUD,1,4) || SUBSTR(POSTE08,1,5), ENTITYID, SSRRAANOEUD, 'POSTE08', X_GEOM, Y_GEOM FROM MV_SUPPLY_PTS WHERE POSTE08 is NOT NULL);
EXCEPTION
WHEN OTHERS THEN
Null;
END TRG_INSERT_DELIV_PTS; |
Partager