|
gemispence
Yak Posting Veteran
71 Posts |
Posted - 2006-03-03 : 17:19:08
|
| I'm trying to perform a bulk insert as shown below. It's problematic b/c it's not updating the identity fields correctly and we're getting dups. I think, but I'm not sure, that On Update Cascade would solve all this, b/c we wouldn't have to concern ourselves with even touching the identity fields, b/c they would be autogenerated. Can someone shed some light?? I'm pretty confused.CREATE PROCEDURE AddMiamirecords ASBEGIN TRANSACTION--USERSINSERT INTO [Undex_Production].[dbo].[USERS]([LastName], [UserName], [EmailAddress], [Address1], [WorkPhone], [Company], [CompanyWebsite], [pword], [IsAdmin], [IsRestricted],[AdvertiserAccountID])SELECT dbo.fn_ReplaceTags (convert (varchar (8000),Advertisername)), [AdvertiserEmail], [AdvertiserEmail],[AdvertiserAddress], [AdvertiserPhone], [AdvertiserCompany], [AdvertiserURL], [AccountNumber],'3',0, [AccountNumber]FROM MiamiWHERE not exists (select * from users Where users.Username = miami.AdvertiserEmail)AND validAD=1--PROPERTYINSERT INTO [Undex_Production].[dbo].[Property]([ListDate],[CommunityName],[TowerName],[PhaseName],[Unit], [Address1], [City], [State], [Zip],[IsActive],[AdPrintId])SELECT [FirstInsertDate],[PropertyBuilding],[PropertyStreetAddress],PropertyCity + ' ' + PropertyState + ' ' + PropertyZipCode as PhaseName,[PropertyUnitNumber],[PropertyStreetAddress],[PropertyCity], [PropertyState], [PropertyZipCode],'0',[AdPrintId]FROM [Undex_Production].[dbo].[miami]WHERE miami.AdvertiserEmail IS NOT NULLAND validAD=1 --ITEMINSERT INTO [Undex_Production].[dbo].[ITEM] ([SellerID],[Price],[StartDate],[EndDate], [HomePageFeatured],[Classified],[IsClosed])SELECT USERS.UserID, miami.PropertyPrice, convert(datetime,miami.FirstInsertDate), dateadd(day, 30, miami.FirstInsertDate)as EndDate, 1, convert (int,AdNumber) as Classified, 0FROM USERS RIGHT OUTER JOINmiami ON USERS.UserName = miami.AdvertiserEmailWHERE validAD=1 --PROPERTYITEMINSERT INTO [Undex_Production].[dbo].[propertyItem]( [propertyId], [ItemId])SELECT Property.propertyId, ITEM.ItemIDFROM ITEM RIGHT OUTER JOIN miami ON ITEM.StartDate = miami.FirstInsertDate AND ITEM.Price = miami.PropertyPrice AND ITEM.Classified = convert(int,miami.AdNumber) LEFT OUTER JOIN Property ON miami.PropertyUnitNumber = Property.Unit AND miami.PropertyZipCode = Property.Zip AND miami.PropertyCity = Property.City AND miami.PropertyStreetAddress = Property.Address1 WHERE validAD=1--CONDOFEATURESINSERT INTO [Undex_Production].[dbo].[CondoFeatures](PropertyId,[Bedrooms], [Area], [PropertyDescription], [Bathrooms], [NumOfFloors])SELECT Property.propertyId, [PropertyBedrooms], [PropertySquareFeet], dbo.fn_ReplaceTags (convert (varchar (8000),PropertyDescription)), [PropertyBathrooms], [PropertyTotalFloors]FROM miami LEFT OUTER JOIN Property ON miami.PropertyUnitNumber = Property.Unit AND miami.PropertyZipCode = Property.Zip AND miami.PropertyCity = Property.City AND miami.PropertyStreetAddress = Property.Address1 WHERE validAD=1--COMMUNITY FEATURESINSERT INTO [Undex_Production].[dbo].[CommunityFeatures](PropertyId,[totalFloors],isComplete1)SELECT Property.propertyId, miami.propertyTotalFloors,'0' as IsCompleteFROM miami LEFT OUTER JOINProperty ON miami.PropertyUnitNumber = Property.Unit AND miami.PropertyZipCode = Property.Zip AND miami.PropertyCity = Property.City AND miami.PropertyStreetAddress = Property.Address1WHERE validAD=1--UNITDISCLOSURESINSERT INTO [Undex_Production].[dbo].[UnitDisclosures]([propertyId],[monthcondoasso])SELECT Property.propertyId, [propertyassocfee]FROM miami LEFT OUTER JOINProperty ON miami.PropertyUnitNumber = Property.Unit AND miami.PropertyZipCode = Property.Zip AND miami.PropertyCity = Property.City AND miami.PropertyStreetAddress = Property.Address1WHERE validAD=1--BROKERDEVELOPERINSERT INTO [Undex_Production].[dbo].[BrokerDeveloper]([IsFSBO],[FSBOName],[FSBOEmail],[FSBOWebsite],[IsDeveloper],[DeveloperName],[DeveloperWebsite],[IsBroker],[BrokerName],[BrokerageWebsite],[propertyId],[brokercommission],[isComplete])SELECT CASE AdvertiserType when 'FSBO' THEN 1 else 0 end,CASE AdvertiserType when 'FSBO' THEN [AdvertiserName] else NULL end,CASE AdvertiserType when 'FSBO' THEN [AdvertiserEmail] else NULL end,CASE AdvertiserType when 'FSBO' THEN [AdvertiserURL] else NULL end,CASE AdvertiserType when 'Developer' THEN 1 else 0 end,CASE AdvertiserType when 'Developer' THEN [AdvertiserName] else NULL end,CASE AdvertiserType when 'Developer' THEN [AdvertiserURL] else NULL end,CASE AdvertiserType when 'Realtor' THEN 1 when 'Broker' THEN 1 else 0 end,CASE AdvertiserType when 'Realtor' THEN [AdvertiserName] when 'Broker' THEN [AdvertiserName] else NULL end,CASE AdvertiserType when 'Realtor' THEN [AdvertiserURL] when 'Broker' THEN [AdvertiserName] else NULL end,Property.propertyId,[PropertyCommBroker],'0' as IsCompleteFROM miami LEFT OUTER JOINProperty ON miami.PropertyUnitNumber = Property.Unit AND miami.PropertyZipCode = Property.Zip AND miami.PropertyCity = Property.City AND miami.PropertyStreetAddress = Property.Address1WHERE validAD=1IF @@ERROR <> 0BEGIN ROLLBACK TRAN RETURNENDCOMMIT TRANSACTIONGO |
|