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
|
CREATE GLOBAL TEMPORARY TABLE TEMP_JF_DEMANDE AS SELECT * FROM JF_DEMANDE WHERE 0=1;
CREATE OR REPLACE TRIGGER TEMP_JF_DEM_SXB BEFORE INSERT ON JF_DEMANDE FOR EACH ROW
BEGIN
INSERT INTO TEMP_JF_DEMANDE(NR_DEMANDE, NR_PRECEDENT, NR_PERSONNE, NR_GESTIONNAIRE, NR_MAIRIE, ABSENCE_REPONSE, DATE_DEMANDE, CONVOCATION, PREMIER_REFUS, SECOND_REFUS,
TEXTE_LIBRE_DEMANDE, RENOUVELLEMENT, DATE_MAJ, MATRICULE, DATE_DE_REMISE, TYJARDIN, NR_GRP_LOT, NR_COMMUNE, NR_QUARTIER_ELU)
VALUES (:NEW.NR_DEMANDE, :NEW.NR_PRECEDENT, :NEW.NR_PERSONNE, :NEW.NR_GESTIONNAIRE, :NEW.NR_MAIRIE, :NEW.ABSENCE_REPONSE, :NEW.DATE_DEMANDE, :NEW.CONVOCATION, :NEW.PREMIER_REFUS, :NEW.SECOND_REFUS,
:NEW.TEXTE_LIBRE_DEMANDE, :NEW.RENOUVELLEMENT, :NEW.DATE_MAJ, :NEW.MATRICULE, :NEW.DATE_DE_REMISE, :NEW.TYJARDIN, :NEW.NR_GRP_LOT, :NEW.NR_COMMUNE, :NEW.NR_QUARTIER_ELU);
END ;
/
CREATE OR REPLACE TRIGGER JF_DEM_SXB_NEW AFTER INSERT ON TEMP_JF_DEMANDE
BEGIN
FOR LIGNE IN (SELECT * FROM TEMP_JF_DEMANDE ORDER BY NR_DEMANDE) LOOP
IF LIGNE.nr_quartier_elu is null and LIGNE.nr_commune = '482' and LIGNE.nr_grp_lot is not null
THEN
execute immediate 'update jf_demande a set a.nr_quartier_elu = (select b.nr_quartier_elu from jf_grp_lot b where a.nr_grp_lot = b.nr_grp_lot ) where a.nr_demande= ' || LIGNE.nr_demande ;
DBMS_OUTPUT.PUT_LINE('update jf_demande a set a.nr_quartier_elu = (select b.nr_quartier_elu from jf_grp_lot b where a.nr_grp_lot = b.nr_grp_lot) where a.nr_demande= ' || LIGNE.nr_demande);
END IF;
END LOOP;
DELETE FROM TEMP_JF_DEMANDE;
END ;
/ |
Partager