Можно ли для предложения вывода SQL вернуть столбец не вставляется?

Я внес некоторые изменения в свою базу данных, и мне нужно перенести старые данные в новые таблицы. Для этого мне нужно заполнить таблицу (ReportOptions), используя данные из исходной таблицы (Practice), и заполнить вторую промежуточную таблицу (PracticeReportOption).

ReportOption (ReportOptionId int PK, field1, field2...)
Practice (PracticeId int PK, field1, field2...)
PracticeReportOption (PracticeReportOptionId int PK, PracticeId int FK, ReportOptionId int FK, field1, field2...)

Я сделал запрос, чтобы получить все данные, необходимые для перехода от практики к ReportOptions, но у меня возникли проблемы с заполнением промежуточной таблицы.

--Auxiliary tables
DECLARE @ReportOption TABLE (PracticeId int /*This field is not on the actual ReportOption table*/, field1, field2...)
DECLARE @PracticeReportOption TABLE (PracticeId int, ReportOptionId int, field1, field2)

--First I get all the data I need to move
INSERT INTO @ReportOption
SELECT P.practiceId, field1, field2...
  FROM Practice P

--I insert it into the new table, but somehow I need to have the repation PracticeId / ReportOptionId
INSERT INTO ReportOption (field1, field2...)
OUTPUT @ReportOption.PracticeId, --> this is the field I don't know how to get
       inserted.ReportOptionId
  INTO @PracticeReportOption (PracticeId, ReportOptionId)
SELECT field1, field2
  FROM @ReportOption

--This would insert the relationship, If I knew how to get it!
INSERT INTO @PracticeReportOption (PracticeId, ReportOptionId)
SELECT PracticeId, ReportOptionId
  FROM @ReportOption

Если бы я мог сослаться на поле, которое отсутствует в таблице назначения в предложении OUTPUT, это было бы замечательно (я думаю, что не могу, но точно не знаю). Любые идеи о том, как удовлетворить мою потребность?

Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос