Ein Thema auf das man bei dynamischen SQL stößt, ist die Interaktion mit dem dynamischen SQL. Wie ist es beispielsweise möglich den Count aus einem dynamischen SQL zu bekommen.

Eine Methode ist die Verwendung von sp_executeSQL, das sich grundsätzlich wie EXECUTE verhält, aber die Verwendung von Parametern ermöglicht.

Hierzu ein Beispiel:

DECLARE @Count int
DECLARE @Query nvarchar(300)
DECLARE @table nvarchar(50) = 'sysobjects'
DECLARE @Condition nvarchar(100) = 'xtype = ''u'''

SET @query = 'Select @Count = COUNT(1) FROM ' + @table + ' WHERE ' + @Condition
print @query
EXECUTE sp_executeSQL @query, N'@Count INT OUTPUT', @Count OUTPUT
SELECT @Count