Bonsoir,
J'ai écrit un déclencheur dans le but de vérifier si un vétérinaire est encore en charge d'un animal avant que le vétérinaire ne soit supprimé.
N'ayant pas le moyen d'exécuter le code et n'étant vraiment pas certain que ma manière de faire soit correcte pour le test, je vous demande votre avis :
J'accepte volontiers toutes les critiques !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 -- Début du code CREATE OR REPLACE TRIGGER Integrite_personnel BEFORE DELETE ON Personnel DECLARE requete VARCHAR(1000); -- 1000 Pour s'assurer qu'il n'y ait pas d'overflow pb_veterinaire EXCEPTION; BEGIN requete = (SELECT animal_id FROM Animal WHERE son_veterinaire_id = :old.personnel_id) ; IF NOT requete THEN RAISE pb_veterinaire; --si la requête n'a obtenu aucun résultat ELSE animal_id = TO_NUMBER(requete) ; --si oui, on prend l'id de l'unique animal trouvé (animal_id étant une PRIMARY KEY)
Flavien
Partager