成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解如何刪除SQL Server表中的重復行

數據庫 SQL Server 數據庫運維
Microsoft SQL Server 表不應該包含重復行和非唯一主鍵。為簡潔起見,在本文中我們有時稱主鍵為“鍵”或“PK”,但這始終表示“主鍵”。重復的 PK 違反了實體完整性,在關系系統中是不允許的。SQL Server 有各種強制執行實體完整性的機制,包括索引、唯一約束、主鍵約束和觸發器。

如果表中有多組完全不同的重復的 PK 值,則逐個刪除它們會很費時間。在這種情況下,可使用下面的方法:

 1.首先,運行上面的 GROUP BY 查詢來確定有多少組重復的 PK 值及每組的重復數。

2.選擇重復的鍵值放入臨時表中。例如:

SELECT col1, col2, col3=count(*) 
INTO holdkey
FROM t1
GROUP BY col1, col2
HAVING count(*) > 1

3.選擇重復的行放入臨時表中,以清除進程中的重復值。例如:

SELECT DISTINCT t1.* 
INTO holddups
FROM t1, holdkey
WHERE t1.col1 = holdkey.col1
AND t1.col2 = holdkey.col2

4.此時,holddups 表應有唯一的 PK;但是,如果 t1 有重復的 PK 而行唯一(如上面的 SSN 示例),情況就不是這樣了。請驗證 holddups 中的各個鍵是否唯一,是否沒有鍵重復而行唯一的情況。如果是這樣,您必須停在該處,確定對于給定重復的鍵值,您希望保留哪些行。例如,以下查詢:

SELECT col1, col2, count(*) 
FROM holddups
GROUP BY col1, col2

應為各行返回計數 1。如果結果是 1,請繼續執行下面的步驟 5。如果不是 1,則存在鍵重復而行唯一的情況,且需要您決定要保存哪些行。通常,這將需要舍棄行或為此行創建新的唯一的鍵值。為 holddups 表中每個此種重復 PK 執行這兩個步驟之一。

5.從原始表中刪除重復的行。例如:

DELETE t1 
FROM t1, holdkey
WHERE t1.col1 = holdkey.col1
AND t1.col2 = holdkey.col2

6.將唯一行放回原始表中。例如:

INSERT t1 SELECT * FROM holddups 

【編輯推薦】

  1. 使用檢查約束驗證SQL Server中的數據
  2. 淺談SQL Server數據庫并發測試方法
  3. 淺談如何優化SQL Server服務器
責任編輯:彭凡 來源: 51CTO
相關推薦

2010-06-28 12:46:09

SQL Server

2010-09-01 16:47:18

SQL刪除

2010-07-12 09:52:24

刪除 SQL Serv

2010-10-22 16:29:11

SQL Server刪

2010-07-07 16:53:54

SQL Server重

2010-11-10 11:27:40

SQL Server重

2010-09-02 11:34:51

SQL刪除

2009-09-14 13:17:51

LINQ to SQLLINQ to SQL

2010-11-11 09:20:46

SQL Server創

2010-09-02 10:36:51

SQL刪除

2010-07-02 13:50:11

SQL Server數

2010-07-26 09:55:55

SQL Server重

2010-09-01 15:30:24

SQL刪除

2010-09-02 11:14:39

SQL刪除日志

2010-11-10 11:37:29

SQL Server刪

2010-09-02 16:28:03

SQL刪除

2010-09-08 09:41:37

SQL刪除注冊表

2010-09-16 14:13:11

SQL Server系

2010-07-08 13:06:05

SQL Server刪

2010-07-21 11:38:59

SQL Server重
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩日韩日韩日韩日韩日韩日韩 | av黄色网 | 七七婷婷婷婷精品国产 | 91精品久久久 | 天天射视频 | 亚州精品成人 | 日本一区二区视频 | 一区二区三区小视频 | 一区二区三区欧美 | 天天爱天天操 | 日韩专区中文字幕 | 日韩91| 仙人掌旅馆在线观看 | 精品国产一区二区三区日日嗨 | 久久精彩视频 | 精品一区二区久久 | 最新国产在线 | 成av在线| 五月激情婷婷网 | 午夜精品一区二区三区在线观看 | 日本亚洲精品成人欧美一区 | 伊人热久久 | 亚洲成av人片在线观看 | 午夜精品视频一区 | 国产高清自拍视频在线观看 | 国产福利91精品一区二区三区 | 在线观看成年人视频 | 国产精品免费在线 | 色爱综合 | 国产一区二区三区在线 | 久久久影院 | 91在线一区 | 最新免费黄色网址 | 亚洲精品一区二区三区蜜桃久 | 久久久久免费精品国产小说色大师 | 久久久涩 | 精品亚洲一区二区 | 色呦呦网站| 日韩一 | 一区二区av| 日日天天|