開發人員的噩夢——刪除重復記錄
想必每一位開發人員都有過類似的經歷
在SQL Server中除了對擁有十幾條記錄的表進行人工刪除外
四板斧——輕松消除重復記錄
殊不知在SQL Server中有一種更為簡單的方法
ProductID int
ProductName nvarchar (
Unit char(
UnitPrice money
)
產品Chang和Tofu的記錄在產品信息表中存在重復
第一板斧——建立一張具有相同結構的臨時表
CREATE TABLE Products_temp (
ProductID int
ProductName nvarchar (
Unit char(
UnitPrice money
)
第二板斧——為該表加上索引
方法是在企業管理器中找到上面建立的臨時表Products _temp
第三板斧——拷貝產品信息到臨時表
insert into Products_temp Select * from Products
此時SQL Server會返回如下提示
服務器: 消息
已忽略重復的鍵
它表明在產品信息臨時表Products_temp中不會有重復的行出現
第四板斧——將新的數據導入原表
將原產品信息表Products清空
delete Products
insert into Products select * from Products_temp
drop table Products_temp
這樣就完成了對表中重復記錄的刪除
小提示
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22325.html