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

Oracle删除重复数据

在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢?
  重复数据删除技术可以提供更大的备份容量,实现更长时间的数据保留,还能实现备份数据的持续验证,提高数据恢复服务水平,方便实现数据容灾等。 重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记录完全一样。Oracle数据库重复数据删除技术有如下优势:更大的备份容量、数据能得到持续验证、有更高的数据恢复服务水平、方便实现备份数据的容灾。
  一、删除部分字段重复数据  
先来谈谈如何查询重复的数据吧。
下面语句可以查询出那些数据是重复的:
Sql代码
select 字段1,字段2,count(*)    
from 表名 group by 字段1,字段2    
having count(*) > 1  
select 字段1,字段2,count(*)
from 表名 group by 字段1,字段2
having count(*) > 1
  
    将上面的>号改为=号就可以查询出没有重复的数据了。
  想要删除这些重复的数据,可以使用下面语句进行删除
  
Sql代码
delete from 表名 a where 字段1,字段2 in  
(select 字段1,字段2,count(*)    
from 表名    
group by 字段1,字段2    
having count(*) > 1)  
delete from 表名 a where 字段1,字段2 in
(select 字段1,字段2,count(*)
from 表名
group by 字段1,字段2
having count(*) > 1)
  
    上面的语句非常简单,就是将查询到的数据删除掉。不过这种删除执行的效率非常低,对于大数据量来说,可能会将数据库吊死。所以我建议先将查询到的重复的数据插入到一个临时表中,然后对进行删除,这样,执行删除的时候就不用再进行一次查询了。如下:
  
Sql代码
CREATE TABLE 临时表 AS  
(select 字段1,字段2,count(*)    
from 表名    
group by 字段1,字段2    
having count(*) > 1)  
CREATE TABLE 临时表 AS
(select 字段


相关文档:

oracle修改用户密码

1、使用oracle用户登录,连接数据库
[oracle@wuzj ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Feb 26 12:06:29 2009
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected.
//查看用户
SQL> select username,password from dba_users;
......

oracle常用sql语句

修改列属性
alter table tablename modify(name ,varchar2(10)) 列宽度不得小于修改前的宽度
日志管理
视图 v$logfile
alter database add logfile 'd:\orcl01.log' size 10m;//添加组
alter database add logfile member 'd:\orcl02.log' to group 4;//向4组中添加成员
alter database drop logfile member 'd: ......

oracle数据库的导入导出

经常用到的数据库导入导出,每次用都要查询,把语句保留在这边方便以后查阅
//快速导入数据到另一个数据库的语句
例如:
imp tms/tms@TMS_192.168.0.104 file=c:\1.dmp buffer=30720 show=no ignore=yes grants=yes rows=yes full=yes
路径为Oracle路径
imp tms/tms@TMS file=d:\tmsbf_all.dmp buffer=30720 show=no ......

Oracle Sqlplus设置行数和宽度


1. 设置页面显示总行数
 
1) 查看目前的pagesize,默认是14:
Sqlplus代码
1.      show pagesize;   
show pagesize;
 
2) 将pagesize设置好100,则可以一次显示够多行记录了:
Sqlplus代码
1.      set pagesize 1 ......

oracle 分析作业有时候偷懒

2010年5月25日 富士康11跳楼自杀的这天。传闻oracle 10g r203自动分析作业不是很靠谱,具体为什么不得而知!今天老库的机器要被搬走,看到上面有个目录是DBA导数据而用的,还留着老库迁到新库的DMP数据文件309G。想老库真正用到的表比较少,数据量会小很多。为了知道具体量,所以自己试玩下EXP导数据。先试了下用户表590万1. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号