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) :
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
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
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 ("?").
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
Le champ qui est donc renseigné dans la table TB_CD n'est donc pas conforme à l'attendu.DEB
?Ex Forum
(1 row(s) affected)
FIN
?Ex Forum
(1 row(s) affected)
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.
Partager