2012-05-28 27 views

cevap

23

Skaler sonuca ulaşmak için output parametresiyle sp_executesql parametresini kullanabilirsiniz.

DECLARE @query as nvarchar(200), @count int; 
SET @query = N'SELECT @count = COUNT(*) FROM table'; 

EXEC sp_executesql @query, 
        N'@count int OUTPUT', 
        @count = @count OUTPUT 

SELECT @count AS [@count] 
+0

Bu kodun, kodun önemini anlayabildiğinden emin değilim, sorgu sonucunu sayım değişkeni ile OUTPUT? – Malyo

+1

@Malyo - Dış kapsamda bir @ @ sayımı değişkeni bildirir. Bu, "sp_executesql" çağrısında bir çıkış parametresi olarak geçilir; bu, çıkış parametresine atanmanın bu değişkene yayıldığı anlamına gelir. 'OUTPUT' parametreleri hakkında daha fazla bilgi için [TSQL Temelleri II - Parametre Geçiş Semantiği] (http://blogs.msdn.com/b/sqlprogrammability/archive/2006/06/09/624531.aspx) konusuna bakın. –

9

Böyle yapabilirsin

execute sp_executesql @query 

fazla bilgi için, this MSDN article kontrol edin.