Bonjour,
Je souhaite comprendre ce que fait cet appel incorrect à une procédure stockée

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
EXECUTE  [dbo].[UPD_ASF_FORECASTS_CONTREPARTIE]    @pIn_process_id  ,@pIn_Upload_Number  ,pIn_Year
					,@pInScenario_min,@pInScenario_max, @vRepartition_niveau  ,@vRepartition_etape
Alors que l'appel correct est celui là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
EXECUTE  [dbo].[UPD_ASF_FORECASTS_CONTREPARTIE]    @pIn_process_id  ,@pIn_Upload_Number  ,@pIn_Year
					,@pInScenario_min,@pInScenario_max, @vRepartition_niveau  ,@vRepartition_etape
La différence entre les deux est l'oubli dans @ avant un nom de variable dans l'appel incorrect
Voilà le Prototype de la fonction appelée
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
 
create PROCEDURE [dbo].[UPD_ASF_FORECASTS_CONTREPARTIE] 
	@pIn_process_id int,
	@pIn_Upload_Number nvarchar(20),
	@pIn_Year nvarchar(4),	
	@pInScenario_min int,
	@pInScenario_max int,
 
	@pIN_repartition_niveau char(1) , 
	@pIN_repartition_etape nvarchar(10)  
AS
BEGIN
-- INSERT ...
--SELECT..
		WHERE 
			FR.Year=@pIn_Year
 
END
J'ai cherché longtemps pourquoi je n'avais pas de données insérées alors que j'aurai dû.
Pourquoi l'appel incorrect passe t-il à la compilation de la procédure stockée, et comment se comporte-t-il?
[edit]Version de SQL Server 2005[/edit]
A+
Soazig