Salut à tous.
Je suis en ce moment sur un projet de gestion d'un camping avec une bdd Oracle.
Je souhaite créé des triggers pour avoir des ID en auto-increment. J'ai réussi à créer tous les triggers sauf sur une table.
Tous mes triggers sont de la même forme. Il n'y a que le nom qui change et les champs associés.
Voici le code :
Il me retourne une erreur de type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE sequence SEQ_FACTURE start with 1 increment by 1; CREATE OR REPLACE TRIGGER AUTO_FACTURE BEFORE INSERT ON TAMARIS.FACTURE FOR EACH ROW WHEN (new.ID_FACTURE IS NULL) DECLARE la_clef number ; BEGIN SELECT SEQ_FACTURE.NEXTVAL INTO la_clef FROM dual ; :new.ID_FACTURE := la_clef ; END ;
quand j'utilise l'assistant de création sous Enterprise Manager.Parametre IN ou OUT absent dans l'index :: 1
Il me retourne une erreur de type :
quand j'utilise SQL*Plus Worksheet.BEFORE INSERT ON TAMARIS.FACTURE FOR EACH ROW
ERREUR à la ligne 2 :
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-320: the declaration of the type of this expression is incomplete or malformed
Est-ce que quelqu'un pourrait m'éclairer.
Merci d'avance.
Partager