Bonjour,
Je ne comprends pas le comportement d'une de mes procédures.
Par exemple, une procédure qui fonctionne correctement serait un basique HW :
Ici, j'entre ma procédure sur mon SGBD, la procédure se crée et je l'appelle avec EXECUTE sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE or REPLACE PROCEDURE DisBonjour ( Nom IN Varchar ) IS BEGIN dbms_output.put_line('Bonjour '); dbms_output.put_line(Nom); END; /
Maintenant, le code suivant ne réagit pas de la même façon ; pourriez-vous m'en expliquer la raison ?
En effet, au lieu de compiler dès le début, il va commencer par me faire saisir les valeurs de mes paramètres (comme si j'avais fait des prompts dessus en fait... or, ce n'est pas le cas...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 CREATE or REPLACE PROCEDURE InsererParcelle ( idParc IN Varchar, idProp IN NUMBER, typeParc IN VARCHAR, super IN NUMBER ) IS DECLARE dateCreate DATE; BEGIN dateCreate := GetDate(); insert into Parcelle values('&idParc',&idProp,'&typeParc','&dateCreate',&super); END; /
Du coup, le code de la procédure n'est évalué qu'une fois les paramètres entrés. Je ne comprends absolument pas pourquoi...
Partager