Vérification du résultat d'un SELECT
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 :
Code:
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) |
J'accepte volontiers toutes les critiques !
Flavien