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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
et que je l'appelle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
elle me renvoie des réponses comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 exec FindLocataireBySiren @arg_no_siren='%414%'
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.
Partager