Avatar billede jensbo Nybegynder
16. november 2007 - 15:15 Der er 3 kommentarer og
1 løsning

Stored procedure problmer.

Hej

I forbindelse med at arbejde med multi vars under reporting service er jeg løbet ind i et problem.  Da SQL serveren sender f.eks. '008,014' til min SQL server. Og det skulle være '008','014'.

Jeg har følgende Stored Procedure:

DECLARE @Afdelinger nvarchar(MAX)
SET @Afdelinger = dbo.ParseString('008,014')
--parseString retunerer = '008','014'

SELECT *
FROM TestTable
WHERE key IN (@Afdelinger)

udsnit af ParseString

C# code here

    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlString ParseString(String parseString){
        ----- Secret code here :)
        return returnString;
    }

more code here

Nogen der har et forslag til hvorfor WHERE key IN (@Afdelinger) ikke virker ???? Det lader ikke til at den er så glad for '008','014'.  Men det virker når der kun er en variable.
Avatar billede arne_v Ekspert
16. november 2007 - 15:31 #1
WHERE key IN (@Afdelinger)

betyder where key findes i den ene streng vaerdi du saetter !

Du kan ikke angive flere vaerdier paa den maade.

Maaske kan du bruge hacket:

EXEC('SELECT * FROM TestTable WHERE key IN (' + @Afdelinger + ')')
Avatar billede jensbo Nybegynder
19. november 2007 - 10:08 #2
Tjaa, det virkede ikke :)  Tror jeg prøver med noget andet. Fandt en function som retunere en TABLE
Avatar billede jensbo Nybegynder
19. november 2007 - 11:12 #3
Jeg har selv løst problemet.
Avatar billede jensbo Nybegynder
04. marts 2008 - 09:19 #4
Lukker spm.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester