установить переменную с возвращаемым значением запроса - PullRequest
1 голос
/ 05 мая 2011

Привет, у меня есть что-то подобное в моей процедуре магазина,

SET @SQl = 'Some query' --this query return only a cell the type int
SET @VAR = exec(@SQL) --the varaible @var it's local and the type int

Как я могу получить возвращаемое значение запроса и установить переменную, это возможно ?? или я что не так делаю ???

Спасибо за вашу помощь

1 Ответ

3 голосов
/ 05 мая 2011

Если запрос возвращает скалярный набор результатов, вам нужно сделать

DECLARE @VAR INT

DECLARE @Result TABLE
(
C INT
)

DECLARE @SQl NVARCHAR(MAX)
SET @SQl = 'SELECT 1'

INSERT INTO @Result
EXEC(@SQl)

SELECT @VAR = C FROM @Result

Намного лучше использовать sp_executesql и OUTPUT параметры

DECLARE @VAR INT

DECLARE @SQl NVARCHAR(MAX)
SET @SQl = 'SELECT @out = 1'

EXEC sp_executesql @SQl, N'@out int output', @out = @VAR OUTPUT

SELECT @VAR 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...