T-SQL: INSERT исходное значение в предложении OUTPUT

У меня есть таблица Items (ItemID, Name, ...) , где ItemID - это автоматически сгенерированный идентификатор

Я хочу добавить строки в эту таблицу ОТ выбора в этой же таблице. И сохраните в табличной переменной ссылки между OriginalItemID и NewlyGeneratedID.

Поэтому я хочу, чтобы это выглядело следующим образом:

DECLARE @ID2ID TABLE (OldItemID INT, NewItemID INT);

INSERT INTO Items OUTPUT Items.ItemID, INSERTED.ItemID INTO @ID2ID
SELECT * FROM Items WHERE Name = 'Cat';

НО Items.ItemID здесь явно не работает. Есть ли способ заставить OUTPUT использовать исходный ItemID из оператора SELECT?

17
задан Evgenyt 20 May 2011 в 16:35
поделиться