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

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

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

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

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

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

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

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中的數(shù)據
  2. 淺談SQL Server數(shù)據庫并發(fā)測試方法
  3. 淺談如何優(yōu)化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-11-10 11:27:40

SQL Server重

2010-07-07 16:53:54

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創(chuàng)

2010-09-02 10:36:51

SQL刪除

2010-07-02 13:50:11

SQL Server數(shù)

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-07-08 13:06:05

SQL Server刪

2010-07-21 11:38:59

SQL Server重

2010-07-26 14:58:26

SQL Server刪

2010-08-05 09:07:24

2010-07-26 09:55:55

SQL Server重
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精久久久 | 国产精品国产三级国产aⅴ原创 | 视频三区 | 欧美日韩亚洲一区 | 亚洲精品乱码久久久久v最新版 | 国产精品久久久久久久久久三级 | 亚洲视频在线观看一区二区三区 | 男女搞网站 | 日日操夜夜摸 | 免费成人高清在线视频 | 亚洲一区视频在线播放 | 成人欧美一区二区三区色青冈 | 二区视频 | 精品自拍视频 | 日韩成人在线看 | 视频一区在线观看 | 成人欧美一区二区三区在线观看 | 精品一区在线看 | 色综合美女| 欧美黄色网 | 在线观看涩涩视频 | va精品| 中文字幕一区二区三区四区五区 | 日本精品一区二区三区在线观看视频 | 国产精品欧美一区二区三区 | 久久精品中文 | 久干网| 成人一区二区三区在线观看 | 久久婷婷色 | 色天天综合 | 一区二区三区视频 | 男女羞羞视频免费看 | 久久久久精 | 久久av在线播放 | 中文字幕一区二区三区四区不卡 | 午夜精品一区二区三区在线观看 | 日韩av成人| 午夜不卡福利视频 | 操人网站 | 色婷婷av久久久久久久 | 欧美在线色 |