IN() data i SP fra parametre
Hej alle.Jeg er løbet i den uheldige situation at skulle rette på en anden persons Stored Procedure, da jeg har fundet en fejl. Det drejer sig om IN() i en select, hvor alle værdierne kommer fra en parametre.
Her er et lille eks så I er med på hvad jeg mener:
SELECT * FROM MinTabel WHERE CAST(ID AS nvarchar(10)) IN(@IDList)
Denne blever så kaldt fra vores ASP kode sådan:
IDList = "1,3,5,7"
set rs = conn.execute("EXEC MySP @IDList = N'"& IDList &"'")
Det der selvfølgelig sker er at den begynder at sammenligen "1" = "1,3,5,7", Så har vi kun en værdi i vores ID liste fungere det fint, men det hændre vi har flere, også får vi ikke noget resultat, da "1" jo er forskellig fra "1,3,5,7"
Jeg er afklaret med hvorfor problemet opstår, jeg skal bare vide hvordan pokker jeg får sendt den liste ind i IN(), så det fungere som jeg forventer (og det cast() burde også være unødvendigt). Resultatet skulle gerne være at den returnere data svarende til dette kald:
SELECT * FROM MinTabel WHERE ID IN(1,3,5,7)