Я вставляю много записей в одну таблицу. Если я вставлю только 1 запись данных, это работает хорошо.
Когда я добавляю второй набор значений для вставки или больше, я получаю сообщение об ошибке ниже. Я не уверен, что к этому можно подойти по-другому.
В настоящий момент последний PK
в объекте tbl равен (299461), (299462) генерируется с первым набором значений вставки. @tempfacilityID
должно генерироваться с шагом 1
для каждой вставленной записи. Если есть другой подход к этому, пожалуйста, сообщите мне. Этот подход, кажется, не работает, и он дает мне ошибку с переменной @tempfacilityID
.
Error Message
"Violation of PRIMARY KEY constraint 'PK_FacilityData'. Cannot insert duplicate key in object 'dbo.Facility'. The duplicate key value is (299462).
The statement has been terminated.
"
Begin transaction
SET IDENTITY_INSERT Facility ON
DECLARE @tempfacilityID int
SELECT @tempfacilityID = MAX(facilityID)+ 1 FROM Facility
DECLARE @tempCategoryID int
SELECT @tempCategoryID = CategoriesServicesID
FROM CategoriesServicesList
inner join CategoriesList on CategoriesList.CategoryID = CategoriesList.CategoryID
where CategoriesList.CategoryID = '10' and CategoriesServicesList.CategoriesServicesID = '5'
INSERT INTO Facility (
[FacilityID]
,[CategoriesServicesID]
,[FacilityName]
,[BuildingNumber]
,[Address]
,[Address2]
,[Borough]
,[area]
,[Latitude]
,[Longitude]
,[Phone]
,[AdditionalInfo]
,[StartDate]
,[EndDate]
,[Monday]
,[Tuesday]
,[Wednesday]
,[Thursday]
,[Friday]
,[Saturday]
,[Sunday]
,[IsActive]
,[Website]
)
VALUES(
@tempfacilityid
,@tempCategoryID
,'Friends Equality'
,111
,'111 Brewer Street'
, NULL
, 'stan Isl'
, 12359
,90.8594712
,-37.8951468
,'(646) 845-9868'
,'<b>Friendships start at a young age.</p>'
,'1900-01-01 00:00:00.000'
,'1900-01-01 00:00:00.000'
,''
,''
,''
,''
,''
,''
,''
,1
,'www.CareHand.org'
)
,
union all
Values(
@tempfacilityid
,@tempCategoryID
,'Self Care(specific)'
,189
,'189 Jaysone Street'
, NULL
, 'honran'
, 105552
,26.7143459
,-73.992332
,'(212) 579-4658'
,'Self Awareness'
,'1900-01-01 00:00:00.000'
,'1900-01-01 00:00:00.000'
,''
,''
,''
,''
,''
,''
,''
,1
,'www.awarenesWpeople.org'
)
,
union all
Values(
@tempfacilityid
,@tempCategoryID
,'Self Care(specific)'
,536
,'536 Melrose Ave'
, NULL
, 'Woodbury'
, 12578
,66.259459
,-93.933332
,'(912) 486-9436'
,'Joyful Life'
,'1900-01-01 00:00:00.000'
,'1900-01-01 00:00:00.000'
,''
,''
,''
,''
,''
,''
,''
,1
,'www.JoyfulLiving.org'
)
SET IDENTITY_INSERT Facility OFF