Insertion Paramètre d'une procédure
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 :
Code:
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;
/ |
Ici, j'entre ma procédure sur mon SGBD, la procédure se crée et je l'appelle avec EXECUTE sans problème.
Maintenant, le code suivant ne réagit pas de la même façon ; pourriez-vous m'en expliquer la raison ?
Code:
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;
/ |
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...).
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...