你目前正处于脱机状态,正在等待 Internet 重新连接

如何通过使用脚本从 SQL Server 表中删除重复行

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

70956
概要
使用下面的脚本可以从 Microsoft SQL Server 表中删除重复的行:
   SELECT DISTINCT *      INTO duplicate_table      FROM original_table      GROUP BY key_value      HAVING COUNT(key_value) > 1   DELETE original_table      WHERE key_value      IN (SELECT key_value             FROM duplicate_table)   INSERT original_table      SELECT *         FROM duplicate_table     DROP TABLE duplicate_table				
时执行此脚本,而它遵循下列步骤:
  1. 它将原始表中的任何重复的行的一个实例移动到重复表上。
  2. 它还驻留在重复表中的原始表中删除所有行。
  3. 它将重复表中的行移动回原始表上。
  4. 它在重复表中删除。
更多信息
此方法非常简单。但是,要求您具有足够的临时生成重复表在数据库中的可用空间。
Windows NT

警告: 本文已自动翻译

属性

文章 ID:70956 - 上次审阅时间:11/02/2007 09:48:54 - 修订版本: 4.3

  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 7.0 标准版
  • Microsoft SQL Server 7.0 Service Pack 1
  • Microsoft SQL Server 6.5 标准版
  • Microsoft SQL Server 6.0 标准版
  • Microsoft SQL Server 4.21a 标准版
  • kbmt kbprogramming KB70956 KbMtzh
反馈