Bonjour,
J'ai 3 procédures et 30 triggers.
Comment peut on les rassembler dans un script pour l'exécuter en une fois.
Pour le moment, je suis obligé de le faire un par un. C'est un peu long !
Merci.
Version imprimable
Bonjour,
J'ai 3 procédures et 30 triggers.
Comment peut on les rassembler dans un script pour l'exécuter en une fois.
Pour le moment, je suis obligé de le faire un par un. C'est un peu long !
Merci.
qu'appelez-vous "triggers" ?
Ok. Sachez qu'un déclencheur sur table ne s'appelle pas. Il se déclenche sur une action menée sur la table sous-jascente (INSERT,UPDATE,DELETE).
Vous n'avez donc rien à livrer, sinon vos 3 procédures.
Vous pouvez parfaitement créer un bloc PL/SQL qui les exécutes à la suite:
Code:
1
2
3
4
5 Begin procedure1( ... ) ; procedure2( ... ) ; procedure3( ... ) ; End;
Ce que je veut dire, c'est que mon fichier sql est composé de plusieurs blocs.
Mais quand je l'exécute, il met tout le fichier sql dans une seule procédure DELETE_STRUCTURE, trigger y compirs.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 create or replace PROCEDURE DELETE_STRUCTURE ( STRUCT_EV_GUID IN VARCHAR2 ) AS BEGIN DECLARE .... END DELETE_STRUCTURE; -- Trigger pour SERIES create or replace TRIGGER TR_DEL_SERIES BEFORE DELETE ON SERIES FOR EACH ROW BEGIN DELETE_STRUCTURE(:OLD.Event_GUID); END; .....(suite de plusieurs trigger définis)
Bonjour,
tu n'as qu'à rajouter entre chaque procédure, trigger... un slash :
Comme ça tout sera exécuté indépendement les uns des autres.Code:
1
2
3
4
5
6
7
8
9
10
11
12 CREATE OR REPLACE PROCEDURE DELETE_STRUCTURE ... ... END DELETE_STRUCTURE; / CREATE OR REPLACE TRIGGER TR_DEL_SERIES ... ... END; /
Bonne continuation.
Et avec des / entre chaque proc ?
EDIT : GrilledCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE OR REPLACE PROCEDURE DELETE_STRUCTURE ( STRUCT_EV_GUID IN VARCHAR2 ) AS BEGIN .... END DELETE_STRUCTURE; / -- Trigger pour SERIES CREATE OR REPLACE TRIGGER TR_DEL_SERIES BEFORE DELETE ON SERIES FOR EACH ROW BEGIN DELETE_STRUCTURE(:OLD.Event_GUID); END; /