Je souhaite grouper mes requetes de creation de triggers dans un fichier .sql tout comme je l ai fait pour la creation de mes tables.
Je commence donc par create puis end et je passe au create suivant... normal quoi.
Voila un morceau du fichier que j execute via la commande @ sous sqlplus :
Code :
- /* Cree les configurations de liens quand une association entre*/
- /*UTILISATEUR et GROUPE est cree */
- create or replace trigger T_A_I_UTILISATEUR_GROUPE
- after insert on W_UTILISATEUR_GROUPE
- for each row
- declare
- /* Liste des liens concernant le nouveau groupe utilisateur */
- cursor C_LIENS_GROUPE is select LIEN from W_GROUPE_LIEN
- where :new.GROUPE = W_GROUPE_LIEN.GROUPE ;
- /* Variable recevant le fetch pour les codes des liens */
- V_LIEN_COURANT W_LIEN.CODE%type ;
- begin
- open C_LIENS_GROUPE ;
- loop
- fetch C_LIENS_GROUPE into V_LIEN_COURANT ;
- insert into W_CONFIG_LIEN_UTILISATEUR (LIEN, UTILISATEUR)
- values (V_LIEN_COURANT, :new.UTILISATEUR) ;
- exit when C_LIENS_GROUPE%notfound ;
- end loop;
- end T_A_I_UTILISATEUR_GROUPE ;
- /* Supprime les configurations de liens quand une association entre*/
- /* UTILISATEUR et GROUPE est supprimée */
- create or replace trigger T_A_D_UTILISATEUR_GROUPE
- after delete on W_UTILISATEUR_GROUPE
- for each row
- declare
- cursor C_LIENS_GROUPE is select LIEN from W_GROUPE_LIEN
- where :old.GROUPE = W_GROUPE_LIEN.GROUPE ;
- V_LIEN_COURANT W_LIEN.CODE%type ;
- begin
- open C_LIENS_GROUPE ;
- loop
- fetch C_LIENS_GROUPE into V_LIEN_COURANT ;
- delete from W_CONFIG_LIEN_UTILISATEUR
- where V_LIEN_COURANT = W_CONFIG_LIEN_UTILISATEUR.LIEN
- and :old.UTILISATEUR = W_CONFIG_LIEN_UTILISATEUR.UTILISATEUR ;
- exit when C_LIENS_GROUPE%notfound ;
- end loop;
- end T_A_D_UTILISATEUR_GROUPE ;
- ...
- ..
- .
|
Le sho err donne ca :
Code :
- 22/1 PLS-00103: Symbole "CREATE" rencontrÚ
|
Super sympa j'aimerais qu il me cree mon 2eme trigger au lieu de me dire "ouay mais non un trigger c'est deja bien assez t en crees pas un 2eme garcon "
Ah oui je precise que si j'execute mes 20 triggers separement, it works !
Si vous avez une syntaxe pour enchainer la creation de triggers dans un fichier sql... merchi
EDIT Solution :
syntaxe :
Code :
- /* debut du fichier sql */
- create trigger nom_trigger
- ...
- end ;
- /
- create trigger nom_trigger2
- ...
- end ;
- /
- ...
- /* fin du fichier sql */
|
Message édité par Masure le 15-04-2003 à 14:06:28