1.
刪除表的重復記錄
如果記錄完全相同才算重復記錄
,
那么
: (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對每條記錄的刪除均需要記錄日志
posted on 2006-11-23 09:08
周銳 閱讀(299)
評論(0) 編輯 收藏 所屬分類:
MySQL 、
Oracle 、
SQL Server