Есть ли какой-нибудь "простой" способ сделать это, или мне нужно передать переменную таблицы с синтаксисом "OUTPUT ... INTO"?
DECLARE @someInt int INSERT INTO MyTable2(AIntColumn) OUTPUT @SomeInt = Inserted.AIntColumn VALUES(12)
Вам нужна табличная переменная, и это может быть так просто.
declare @ID table (ID int) insert into MyTable2(ID) output inserted.ID into @ID values (1)
Через год ... если вам нужно получить автоматически сгенерированный идентификатор таблицы, вы можете просто
SELECT @ReportOptionId = SCOPE_IDENTITY()
В противном случае кажется, что вы застряли с помощью таблицы.