易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL删除重复数据

一、具有主键的情况
I.具有唯一性的字段id(为唯一主键)
delete 用户表   
where id not in   
(
select max(id) from 用户表 group by col1,col2,col3...
)
group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,
那么只要col1字段内容相同即表示记录相同。
II.具有联合主键
假设col1+','+col2+','...col5 为联合主键
(找出相同记录)
select * from    用户表 where col1+','+col2+','...col5 in
(
select max(col1+','+col2+','...col5) from 用户表   
group by col1,col2,col3,col4
having count(*)>1    
)
group by 子句后跟的字段就是你用来判断重复的条件,
如只有col1,那么只要col1字段内容相同即表示记录相同。
或者:
(找出相同记录)
select * from 用户表    where exists (select 1 from 用户表 x where 用户表.col1 = x.col1 and   
用户表.col2= x.col2 group by x.col1,x.col2 having count(*) >1)
III:判断所有的字段
   select * into #aa from 用户表 group by id1,id2,....
   delete 用户表   
   insert into 用户表 select * from #aa
二、没有主键的情况
I.用临时表实现
select identity(int,1,1) as id,* into #temp from 用户表
delete #temp   
where id not in  
(
   select max(id) from # group by col1,col2,col3...
)
delete 用户表 ta
inset into ta(...) select ..... from #temp
II.用改变表结构(加一个唯一字段)来实现
alter 用户表 add    newfield int identity(1,1)
delete 用户表
where newfield not in
(
select min(newfield) from 用户表 group by 除newfield外的所有字段
)
alter 用户表 drop column newfield


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

SQL Server数据库碎片

当索引所在页面的基于主关键字的逻辑顺序,和数据文件中的物理顺序不匹配时,碎片就产生了。所有的叶级页包含了指向前一个和后一个页的指针。这样就
形成一个双链表。理想情况下,数据文件中页的物理顺序会和逻辑顺序匹配。整个磁盘的工作性能在物理顺序匹配逻辑顺序时将显著提升。对某些特定的查询而言,
这将带来极佳的 ......

SQL Server中约束的介绍

摘要
对于SQL Server中的约束,想必大家并不是很陌生。但是约束中真正的内涵是什么,并不是很多人都很清楚的。本文以详细的文字来介绍了什么是约束,以及如何在数据库编程中应用和使用这些约束,来达到更好的编程效果。(本文部分内容参考了SQL Server联机手册)
内容
 
数据完整性分类
 
实体完整性
&nb ......

利用sql语句创建job

写了一段例子,通过sql创建一个job,定期执行一些清除工作。在sql2005上测试通过。
sql帮助文档太零散了。这是一个完整的流程。不过注意定时执行时需要sql server agent服务器启动的。
USE msdb ;
GO
EXEC dbo.sp_add_job
@job_name = N'Clear oldest HB',
@enabled = 1,
@description = N'Clear heart ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号