如果記錄完全相同才算重復記錄 , 那么 : (sql server2000 下測試通過 )
select distinct * into #tmpp from person
delete from person
insert into person select * from #tmpp
drop table #tmpp
如果有 id 主鍵 ( 數字 , 自增 1 的那種 ), 那么 :(sql server2000 下測試通過 )
delete from person where id not in
(select id=min(id) from person group by UserName)
2.復制表(并且復制記錄)
select * into persontwo from person(只復制表結構)
insert into persontwo select UserName,Address,Content from person(插入記錄)
3.獲取表中最小未使用的ID
SELECT (CASE WHEN EXISTS(SELECT * FROM person b WHERE b.Id = 1) THEN MIN(Id) + 1 ELSE 1 END) as Id
FROM person
WHERE NOT Id IN (SELECT a.Id - 1 FROM person a)
4.delete from tablea & truncate table tablea的區別
truncate語句執行速度快,占資源少,并且只記錄頁刪除的日志;
delete對每條記錄的刪除均需要記錄日志