Я пытаюсь создать поддерживаемый скрипт вставки для проекта, который включает в себя несколько таблиц, имеющих отношения внешнего ключа. У меня есть следующие таблицы в этом сценарии:
TABLE [dbo].[VehicleMakes]
[VehicleMakeID] [int] IDENTITY(1,1) NOT NULL,
[VehicleMakeDesc] [varchar](50) NOT NULL
TABLE [dbo].[VehicleModels]
[VehicleModelID] [int] IDENTITY(1,1) NOT NULL,
[VehicleModelDesc] [varchar](50) NOT NULL,
[VehicleMakeID] [int] NOT NULL
Для краткости я исключил ограничения внешнего ключа и т. Д., Так как меня интересует логика запроса, позволяющая мне принять это:
INSERT INTO VEHICLEMODELS (VehicleModelDesc,VehicleMakeID)
Values
('FLHTC', (SELECT V.VehicleMakeID from VehicleMakes as V where V.VehicleMakeDesc = 'Harley-Davidson')),
('RoadKing', (SELECT V.VehicleMakeID from VehicleMakes as V where V.VehicleMakeDesc = 'Harley-Davidson')),
('Softail', (SELECT V.VehicleMakeID from VehicleMakes as V where V.VehicleMakeDesc = 'Harley-Davidson'))
и имеют группу моделей, которые все вставлены, используя один и тот же подзапрос внешнего ключа для Make (в отличие от простого копирования / вставки этого для каждой из них)