Bonjour,

J'ai une erreur qui met remonte par le moteur SQL lorsque je lance le code SQL suivant :

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
21
22
23
24
 
DECLARE @req1 NVARCHAR(2000)
DECLARE @CodeColis VARCHAR (20)
DECLARE @Init_Num_Colis int
DECLARE @SDDELN_Max int
SELECT @SDDELN_Max = 2
SET @CodeColis ='1'
SET @Init_Num_Colis = 1
 
WHILE (@Init_Num_Colis <= @SDDELN_Max)
BEGIN
SET @req1 =	N'	SELECT 
		IDENTITY(int,' + @CodeColis + ', 1) as Num_Colis,
		ES.SDDELN			
		INTO Admin.dbo.C_Num_Colis
		FROM F4211_ES ES
	             WHERE ES.SDDELN = '+@Init_Num_Colis+''
		SELECT @req1
		EXEC sp_executesql @req1
		SELECT * FROM Admin.dbo.C_Num_Colis
		SELECT @Init_Num_Colis
		SET @Init_Num_Colis = @Init_Num_Colis +1
		DROP TABLE Admin.dbo.C_Num_Colis
END
Voici l'erreur qui est remontée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Msg 245, Level 16, State 1, Line 11
Conversion failed when converting the nvarchar value '	SELECT 
IDENTITY(int,1, 1) as Num_Colis,
ES.SDDELN			
INTO Admin.dbo.C_Num_Colis
FROM F4211_ES ES
WHERE ES.SDDELN = ' to data type int.
J'ai donc un probleme de conversion ' en INT.

Comment puis-je éviter ce petit soucis afin de passer le bon paramètre dans ma condition WHERE.

Merci d'avance.