i've tried stored procedure below. have 7 similar tables. created 1 , in ssis task write command exec sp table name , pass parameters. guess affect performance. there way can better?
create procedure [dbo].[proc_deletedups] (@tablename varchar(30)) -- add parameters stored procedure here begin set nocount on; declare @deletequery varchar(max), @insertquery varchar(max) -- set nocount on added prevent result sets -- interfering select statements. -- delete dups dbo.billtoparty table select @deletequery = ' delete dbo.'+@tablename + ' id not in ( select max(id) dbo.' + @tablename + ' group quotenumber, quotedate, quoteversion)'; exec (@deletequery); --insert unique rows tar.billtoparty table select @insertquery = ' insert tar.' + @tablename + ' (quotenumber, quotedate, quoteversion, accountnumber, accountname, superuserfirstname, superuserlastname, superuseremail, procurementuserfirstname, procurementuserlastname, procurementuseremail, countrydialing, areadialing, landnumber, extension, mobile, addressline1, addressline2, addressline3, province, zipcode, city, state, county, country) (select quotenumber, quotedate, quoteversion, accountnumber, accountname, superuserfirstname, superuserlastname, superuseremail, procurementuserfirstname, procurementuserlastname, procurementuseremail, countrydialing, areadialing, landnumber, extension, mobile, addressline1, addressline2, addressline3, province, zipcode, city, state, county, country dbo.' + @tablename + ')'; exec (@insertquery); end go
Comments
Post a Comment