Bonjour, j'ai écrit un trigger permettant de supprimer les clés étrangères lorsque je supprime un enregistrement dans ma table FILM.
J'ai une application C# Winforms dans laquelle on peut exécuter un :
"DELETE FROM FILM WHERE ID_FILM="+IdFilm;

Et le trigger doit s'enclencher afin de supprimer automatiquement les clés étrangères de l'enregistrement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
CREATE OR REPLACE
TRIGGER TRG_DELETEFILM
BEFORE DELETE ON FILM
FOR EACH ROW
BEGIN
DELETE FROM ETRE_SUR WHERE ID_FILM=OLD.ID_FILM;
DELETE FROM JOUER WHERE ID_FILM=OLD.ID_FILM;
DELETE FROM REALISER WHERE ID_FILM=OLD.ID_FILM;
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20070, 'Une erreur lors de la suppression est survenue.');
END;
Et les erreurs sont 3 fois la même pour les 3 lignes DELETE FROM :
Error(7,36): PL/SQL: ORA-00904: "OLD"."ID_FILM" : identificateur non valide

le OLD.ID_FILM ne semble pas lui plaire, mais je ne vois vraiment pas quoi mettre d'autre!