Hoppas att någon kan komma på en bra lösning åt mig då jag försöker skicka in en kommaseparerad sträng in i en sp för att dynamiskt bygga upp en or sats med lika många som det finns i strängen jag kastar in. Detta kan alltså vara allt mellan 1 och uppåt. Hej Tack ska du ha.. får väl vänta på SQL 2005 innan man kan lägga upp det lite snyggare verkar det som..dynamisk OR-sats i en SP
tex
select * from categories
where (cat='Nyheter' OR cat = 'Artiklar')
vad jag tänkte me var att köra
@Test = 'Nyheter'',''Artiklar'
Select * from categories
Where
in(@Test)
dock får jag det inte att fungera så bara när jag kör
Select * from categories
Where
in('Nyheter' , 'Artiklar')
Jag förstår att den tolkar hela @Test som en sträng men finns det något annat sätt då jag skulle vilja ha allt in SP o inte via kod då det lätt skulle gå att bygga upp en sql sträng som gör detta.
Tacksam på svar, och hoppas jag formulerat mig rätt.Sv: dynamisk OR-sats i en SP
Det här kan kanske lösa ditt problem.
Declare @SQL VarChar(1000)
SELECT @SQL = 'select * from categories '
SELECT @SQL = @SQL + ' in (' + @Text + ')'
Exec ( @SQL)
Du kan läsa mer om dynamisk sql på: http://www.sqlteam.com/item.asp?ItemID=4599
Med vänliga hälsningar
/StefanSv: dynamisk OR-sats i en SP