我已經(jīng)對數(shù)據(jù)庫進行了一些修改,并且需要將舊數(shù)據(jù)遷移到新表中。為此,我需要填充一個表(ReportOptions),該表從原始表(Practice)中獲取數(shù)據(jù),并填充第二個中間表(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...)我進行了查詢,以獲取從“練習(xí)”移至“報告選項”所需的所有數(shù)據(jù),但是我無法填寫中間表--Auxiliary tablesDECLARE @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 moveINSERT INTO @ReportOptionSELECT P.practiceId, field1, field2... FROM Practice P--I insert it into the new table, but somehow I need to have the repation PracticeId / ReportOptionIdINSERT 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子句上引用不在目標表上的字段,那將很棒(我認為我不能,但是我不確定)。關(guān)于如何滿足我的需求的任何想法?
SQL Output子句是否可能返回未插入的列?
天涯盡頭無女友
2019-11-08 10:21:03