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
| CREATE OR REPLACE TRIGGER TRIG
AFTER INSERT
ON JOJO.VILLE_FOURNISSEUR
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
declare
nbre_code_postal ville_fournisseur.CODEPOSTAL%type;
nbre_num_rue ville_fournisseur.NUM_RUE%type;
begin
INSERT INTO ville (
SELECT :new.codepostal,:new.nomville
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM ville WHERE codepostal=:new.codepostal
AND nomville=:new.nomville)
);
SELECT count(*) INTO nbre_num_rue FROM adresse WHERE num_rue=:new.num_rue AND
adresse=:new.adresse;
INSERT INTO adresse (
SELECT :new.num_rue,:new.adresse
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM adresse WHERE num_rue=:new.num_rue AND adresse=:new.adresse)
);
IF SQL%ROWCOUNT =1 THEN
INSERT INTO ville_adresse VALUES (:new.codepostal,:new.nomville,:new.num_rue,:new.adresse);
end IF;
end;
/ |
Partager