Как сохранить результаты EXEC в @variable

У меня была та же проблема, что и здесь. Имя таблицы как переменная

Мой вопрос в том, как сохранить результаты, возвращаемые из инструкции EXEC, в @variable?

Пример:

EXEC('SELECT count(*) FROM ' + @tablename)

благодаря

1 ответ

напишите как:

DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
DECLARE @COUNT INT
DECLARE @TableName NVARCHAR(100)

SET @SQLString = N'SELECT @COUNTOUT = count(*) FROM ' + QUOTENAME(@TableName);

SET @ParmDefinition = N'@COUNTOUT INT OUTPUT'
EXECUTE sp_executesql
@SQLString,
@ParmDefinition,
@COUNTOUT=@COUNT OUTPUT
SELECT @COUNT

licensed under cc by-sa 3.0 with attribution.