Prøv at studere denne procedure nærmere på nettet, "exec sp_executesql" Se evt. lille eksempel:
DECLARE @sqlStr nvarchar(1000) DECLARE @sqlParms nvarchar(1000) DECLARE @tableCount int SET @sqlStr = 'SELECT @tableCount = COUNT(*) FROM sysobjects WHERE type = ''U''' SET @sqlParms = '@tableCount int OUTPUT'
Jeg kan godt følge dig, og jeg har lavet en lille test for at prøve det. Og det virker!
Jeg havde dog lige lidt problemer med det, og det har vist sig, at man skal sørge for at ÅBNE sin cursor inde i det dynamiske SQL. Ikke at jeg har fået nogen forklaring eller forstår hvorfor, men ellers kunne jeg ikke få det til at virke.
set @sql='declare local_cursor cursor local for select myvalue from mytable; open local_cursor; set @curpar=local_cursor;'; set @sqlpar='@curpar cursor output';
Nå, jeg havde prøvet at acceptere det svar et par gange, men den ignorerede mig totalt. Men nu lykkedes det vist :)
Synes godt om
Ny brugerNybegynder
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.