SQL получает значение динамического запроса в переменную - PullRequest
1 голос
/ 17 октября 2019

Я выбираю COUNT чего-то в базе данных SQL Server 2016, используя динамический запрос SQL, и хочу, чтобы это значение было помещено в переменную. Ниже приведено утверждение SQL, которое, я уверен, было правильным, но полученное значение равно NULL (я проверил запрос, и он возвращает значение). Какие-нибудь советы?

DECLARE @Output INT 

SELECT @SqlCommand = 'SELECT COUNT(ServerName) FROM ' + @TableReference + ' WITH (NOLOCK) WHERE ServerName = ''' + @PackageEndPoint + '''' 

EXEC sp_executesql @SqlCommand, N'@Output INT OUTPUT', @Output = @Output OUTPUT

SELECT @StagingRecordCount = @Output

1 Ответ

1 голос
/ 17 октября 2019

Вам необходимо присвоить переменную @Output вашему счетчику результатов.

@Output = COUNT(ServerName)

полный скрипт

DECLARE @Output INT 

SELECT @SqlCommand = 'SELECT @Output = COUNT(ServerName) FROM ' + @TableReference + ' WITH (NOLOCK) WHERE ServerName = ''' + @PackageEndPoint + ''''

EXEC sp_executesql @SqlCommand, N'@Output INT OUTPUT',@Output = @Output OUTPUT
SELECT  @StagingRecordCount = @Output
SELECT @StagingRecordCount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...