Kasper Kamp Simonsen wrote:
>
> Hej NG,
>
> I en stored procedure får jeg følgende fejl
>
> Syntax error converting the varchar value '114, 747, 454, 1756' to a column
> of data type int.
>
> Når jeg prøver at gøre følgende.
>
> SELECT id FROM <tabel> WHERE (id IN ('' + @idListe))
>
> @idListe er en varchar()
>
> Jeg har prøvet at lave en cast på idListe, men så får jeg samme fejl.
>
> Nogen som har et bud på hvordan jeg løser det?
Jens har svaret på, hvad du skal gøre.
Jeg vil gerne forklare, hvad der går galt.
Når du udfører din indholdet af din variabel indsat i stedet for
variablen. Det sql-fortolkeren forsøger at udføre er derfor:
SELECT id FROM <tabel> WHERE (id IN ('114, 747, 454, 1756')
Der er med andre ord et element i den liste, der er højreside i
IN-operationen, nemlig tekststrengen '114, 747, 454, 1756'. Med mindre
id er en tekststreng, så giver det naturligvis en typefejl.
--
Kristian Damm Jensen | Feed the hungry at
www.thehungersite.com
kristian-damm.jensen@cgey.com | Two wrongs doesn't make a right,
ICQ# 146728724 | but three lefts do.