Bonjour

je n'ai aucune maitrise de postgresql que je découvre pour les besoins d'un projet
j'ai une procédure qui plante à l'exécution et malgré la lecture approndie et attentive de l'excellent livre "SQL" de F.Brouard & C.Soutou, je ne comprends pas pourquoi

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
CREATE OR REPLACE PROCEDURE public.cree_t_experience(IN _numpheno integer DEFAULT 1)
    LANGUAGE 'sql'
 
AS $BODY$
Drop view if exists config_pheno;
 
create view config_pheno as (
select ps.Name as camera , pp.description as Pheno  FROM "Pheno_sensor" ps ,"Pheno_phenoscope" pp  
	where pp.id = ps.default_phenoscope_id   and pp.id =_numpheno
) ;
le retour fait par postgres est :
ERREUR: la colonne « _numpheno » n'existe pas
LINE 7: ...ere pp.id = ps.default_phenoscope_id and pp.id =_numpheno...
^
Pourtant quand j'écris un integer en dur, la procédure s'exécute sans souci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
CREATE OR REPLACE PROCEDURE public.cree_t_experience(IN _numpheno integer DEFAULT 1)
    LANGUAGE 'sql'
 
AS $BODY$
Drop view if exists config_pheno;
 
create view config_pheno as (
select ps.Name as camera , pp.description as Pheno  FROM "Pheno_sensor" ps ,"Pheno_phenoscope" pp  
	where pp.id = ps.default_phenoscope_id   and pp.id =2 
) ;
j'ai essayé différentes syntaxes sans succès :
:_numpheno
:'_numpheno'
?
nada ! tjs à me dire que la colonne (?) n'existe pas !!

Merci d'avance à ceux qui répondront.