| 网站首页 | 文学 | 小说 | 动漫 | 论文 | 军事 | 科技 | 图片 | 教育 | 哲学 | 历史 | 英语 | 
首页>>计算机 >>电脑 用户登录 新用户注册
SQL SERVER实用经验技巧集 [二]

SQL SERVER实用经验技巧集 [二]

删除数据库中重复数据的几个方法
  数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置……


  方法一


  declare @max integer,@id integer
  declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1
  open cur_rows
  fetch cur_rows into @id,@max
  while @@fetch_status=0
  begin
  select @max = @max -1
  set rowcount @max
  delete from 表名 where 主字段 = @id
  fetch cur_rows into @id,@max
  end
  close cur_rows
  set rowcount 0

 

  方法二

  有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。

  1、对于第一种重复,比较容易解决,使用


  select distinct * from tableName

  就可以得到无重复记录的结果集。

  如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除


  select distinct * into #Tmp from tableName
  drop table tableName
  select * into tableName from #Tmp
  drop table #Tmp

< 1 >   < 2

在百度搜索:SQL SERVER实用经验技巧集 [二]
推 荐
相 关 文 章
  • 利用SQL移动硬盘文件
  • SQL SERVER实用经验技巧集 [一]
  • 如何在客户端调用SQLSERVER的DTS包?
  • 拷贝的SQL Server 7的恢复方法
  • Sql语句密码验证的安全漏洞
  • 快速搭建ERP的数据库框架
  • SQL Server 7六种数据移动方法
  • 使用代码刷新ODBC链接SQL SEVER表
  • SQL Server数据库检修
  • 解决SQL Server 2000之日志传送功能