Cursor i stored procedures
HejJeg har lidt problemer cursor i stored procedure.
Jeg har følgende sql streng:
Set @Temp_Sql_String = \'Select @Output = Output From tbl_Kategori Where Kategori_Sub_ID in (\' + @Temp_Kategori_Array + \')\'
@Temp_Sql_String(Varchar(255)), @Output(Varchar) og @Temp_Kategori_Array(Varchar(255)) er deklareret. Desuden indeholder @Temp_Kategori_Array en række tal(ID\'ere) som er kommaseperaret.
Grunden til at jeg lægger min sqlsætning ind i en streng er at det er den eneste mulighed for at eksekverer denne uden at der meldes fejl, fordi at mit @Temp_Kategori_Array er en varchar og Kategori_Sub_ID er en integer og det kan tilsyneladende ikke eksekveres på andre måder. (Dont ask me why)
Det jeg nu gerne vil er at lægge en cursor uden om @Temp_Sql_String så jeg kan manipulerer med outputtet, evt lægge det ned i en tabel.
Men hvordan i helvede gør det? :) Jeg har forsøgt mig med følgende:
Declare cSelect Cursor For (Exec (@Temp_Sql_String))
Open cSelect
Fetch Next From cSelect Into @Output .... osv
Jeg får en fejl der siger: \"Incorrect syntax near the keyword Exec\" Og \"Incorrect syntax near \')\'\"
Jeg håber virkelig at der nogen der kan hjælpe - og bare spørg hvis der er nogle uklarheder i mit spørgsmål(Dem er der sikkert masser af)