Bonjour,

J'ai un problème avec une de mes procédures stockées qui modifie un paramètre d'entrée que je lui donne en y ajoutant un caractère.
La procédure est la suivante (simple insert into) :

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
USE [DB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_AUL]
	@Zone Varchar(200),
	@TagName Varchar(200),
	@Etat Varchar(50),
	@Type Varchar(50),
	@Operateur Varchar(200),
	@Droit Int,
	@Commentaire Varchar(200)
AS
print'DEB'
print @zone
BEGIN
 
	INSERT INTO [DB].[dbo].[TB_CD] (
			[Zone]
           ,[TagName]
           ,[Etat]
           ,[Type]
           ,[Operateur]
           ,[Droit]
           ,[Commentaire])
     VALUES (
			@Zone
           ,@TagName
           ,@Etat
           ,@Type
           ,@Operateur
           ,@Droit
           ,@Commentaire)
 
END
 
print 'FIN'
print @zone
Lorsque j'exécute la procédure stockée en passant les paramètres suivants :
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
 
USE [DB_CD1_EVENT]
GO
 
DECLARE	@return_value int
 
EXEC	@return_value = [dbo].[SP_AUL]
		@Zone = N'Ex Forum',
		@TagName = N'Test 20230420 1119',
		@Etat = N'Def',
		@Type = N'ALM',
		@Operateur = N'User',
		@Droit = 9,
		@Commentaire = N'Test'
 
SELECT	'Return Value' = @return_value
 
GO
J'obtiens la valeur 0 dans le return_value et dans les messages, je vois que mon paramètre @Zone à un caractère supplémentaire au début de la chaîne de caractère ("?").

DEB
?Ex Forum

(1 row(s) affected)
FIN
?Ex Forum

(1 row(s) affected)
Le champ qui est donc renseigné dans la table TB_CD n'est donc pas conforme à l'attendu.
Lorsque j'exécute la fonction "insert into" sans passer par la procédure stockée, je n'ai pas ce phénomène.

Je sèche complètement sur la cause potentiel de ce comportement. C'est pour ca que je viens chercher de l'aide ^^.
Merci pour l'aide que vous m'apporterez.