[SQLSERVER]Pb passage paramètre procédure stockée
Bonjour à tous,
Comme le titre indique j'ai un problème au niveau du passage de paramètre dans une procédure stockée (enfin je crois :) )
J'ai une table LOCATAIRES avec deux colonnes (en simplifié) no_loc (numeric), num_siren(varchar(25)).
Exemple : no_loc = 10256, num_siren = 414 456 789
Je dois faire une recherche sur cette table par le num_siren.
J'ai donc fait cette requete :
Code:
1 2 3 4 5 6
|
select no_locataire, TRES.numsiren
from (select FormatLoc(L.siren)as numsiren,L.no_locataire
from locataires L) TRES
where TRES.numsiren like '%414%'
order by no_locataire desc |
Cette requête marche parfaitement si je la teste comme cela, mais je souhaite mettre en paramètre le critère de recherche. Je crée la procédure stockée :
Code:
1 2 3 4 5 6 7 8 9
|
CREATE PROCEDURE FindLocataireBySiren
@arg_no_siren varchar
AS
select no_locataire, TRES.numsiren
from (select dbo.FormatLoc(L.siren)as numsiren,L.no_locataire
from locataires L) TRES
where TRES.numsiren like @arg_no_siren
GO |
et que je l'appelle
Code:
1 2
|
exec FindLocataireBySiren @arg_no_siren='%414%' |
elle me renvoie des réponses comme :
no_loc =12365, numsiren=542047337 qui ne contient pourtant pas '414'.
Est-ce qu'il y a un problème de passage de parmètre?
J'avoue que je ne vois pas d'ou vient le problème :?.
Je vous remercie d'avance de votre aide.
Juste la taille du paramètre
Bonjour,
Il te faut juste indiquer la taille de ton paramètre varchar.
Code:
1 2 3
| CREATE PROCEDURE FindLocataireBySiren
@arg_no_siren varchar(50)
AS |
Bonne chance. :wink: