根据向临时表导入数据,并为其添加一个列ID为索引。
然后再向这个临时表查找相同记录的一条最大索引插入别一个表 UC_CARDTL_Temp_ForImport
再次,删除表 UC_CARDTL_Temp_ForImport中的列ID
最后,删除原表,再更改名称为原来的表名
然后再向这个临时表查找相同记录的一条最大索引插入别一个表 UC_CARDTL_Temp_ForImport
再次,删除表 UC_CARDTL_Temp_ForImport中的列ID
最后,删除原表,再更改名称为原来的表名
use
hos
If Exists ( Select 1 From tempdb.dbo.sysobjects where Name = ' ##temp_UC_CarDTL ' And Xtype = ' U ' )
drop table ##temp_UC_CarDTL
go
Select Identity ( int , 1 , 1 ) as ID, * into ##temp_UC_CarDTL From UC_CardTL
go
If Exists ( Select 1 From sysobjects where Name = ' UC_CARDTL_Temp_ForImport ' And Xtype = ' U ' )
drop table UC_CARDTL_Temp_ForImport
go
Select * into UC_CARDTL_Temp_ForImport From ##temp_UC_CarDTL Where ID
In
(
Select Max (ID) From ##temp_UC_CarDTL Where 1 = 1 Group By CarName,CarID,Class Having Count ( * ) > 1
)
Alter Table [ UC_CARDTL_Temp_ForImport ] Drop Column [ ID ]
go
Drop Table UC_CARDTL
go
sp_rename ' UC_CARDTL_Temp_ForImport ' , ' UC_CARDTL '
If Exists ( Select 1 From tempdb.dbo.sysobjects where Name = ' ##temp_UC_CarDTL ' And Xtype = ' U ' )
drop table ##temp_UC_CarDTL
go
Select Identity ( int , 1 , 1 ) as ID, * into ##temp_UC_CarDTL From UC_CardTL
go
If Exists ( Select 1 From sysobjects where Name = ' UC_CARDTL_Temp_ForImport ' And Xtype = ' U ' )
drop table UC_CARDTL_Temp_ForImport
go
Select * into UC_CARDTL_Temp_ForImport From ##temp_UC_CarDTL Where ID
In
(
Select Max (ID) From ##temp_UC_CarDTL Where 1 = 1 Group By CarName,CarID,Class Having Count ( * ) > 1
)
Alter Table [ UC_CARDTL_Temp_ForImport ] Drop Column [ ID ]
go
Drop Table UC_CARDTL
go
sp_rename ' UC_CARDTL_Temp_ForImport ' , ' UC_CARDTL '
本文转自Sam Lin博客园博客,原文链接:http://www.cnblogs.com/samlin/archive/2008/01/22/1049146.html,如需转载请自行联系原作者