Предложение вывода SQL Server в скалярную переменную - PullRequest
121 голосов
/ 06 апреля 2011

Есть ли какой-нибудь "простой" способ сделать это, или мне нужно передать переменную таблицы с синтаксисом "OUTPUT ... INTO"?

DECLARE @someInt int

INSERT INTO MyTable2(AIntColumn)
OUTPUT @SomeInt = Inserted.AIntColumn
VALUES(12)

Ответы [ 2 ]

146 голосов
/ 06 апреля 2011

Вам нужна табличная переменная, и это может быть так просто.

declare @ID table (ID int)

insert into MyTable2(ID)
output inserted.ID into @ID
values (1)
27 голосов
/ 17 августа 2012

Через год ... если вам нужно получить автоматически сгенерированный идентификатор таблицы, вы можете просто

SELECT @ReportOptionId = SCOPE_IDENTITY()

В противном случае кажется, что вы застряли с помощью таблицы.

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