Я не могу дать значение для id, потому что это первичный ключ с автоинкрементом.
Нет, это не так.Вы не объявили, что это что-то в этом роде.Поэтому нам нужно сначала исправить это:
declare @txn table (
id bigint IDENTITY PRIMARY KEY,
description varchar(max),
txn_no varchar
);
А затем мы исправим это, указав список столбцов в вашем предложении INTO
:
output
inserted.description,
inserted.txn_no
into @txn (description, txn_no)
Это всегда хорошая привычка указыватьВ любом случае, список столбцов.
Или, если я неверно истолковал ваш вопрос, и идентификатор должен быть из transactions
, тогда вы просто добавляете inserted.id
в качестве другого столбца в своем предложении OUTPUT
.inserted
представляет это состояние таблицы после вставки.Таким образом, вы можете включить столбцы из него в ваше предложение OUTPUT
, даже если вы не указали их в INSERT
.