TSQL - как выполнить запрос как переменную? DECLARE @query as varchar(200); SET @query = 'SELECT COUNT(*) FROM table'; Как я могу выполнить @query, и, кроме того, есть способ сохранить результат запроса непосредственно при назначении переменной? Ответ 1 Вы можете использовать sp_executesql с параметром output для получения скалярного результата. 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] Ответ 2 Вы можете сделать это следующим образом: exec (@query) или, предпочтительно, следующим образом: execute sp_executesql @query Для получения дополнительной информации проверьте эту статью MSDN.
Ответ 1 Вы можете использовать sp_executesql с параметром output для получения скалярного результата. 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]
Ответ 2 Вы можете сделать это следующим образом: exec (@query) или, предпочтительно, следующим образом: execute sp_executesql @query Для получения дополнительной информации проверьте эту статью MSDN.