删除交通违章数据表中的重复记录(同一时间[haptime]、车号牌[numberplate]、处罚原因[reason])
一、方法原理:
1、Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的, rowid确定了每条记录是在ORACLE中的哪一个数据文件、块、行上。
2、在重复的记录中,可能所有列的内容都相同,但rowid不会相同,所以只要确定出重复记录中那些具有最大rowid的就可以了,其余全部删除。
二、实现方法:
1、查询重复记录
select rowid,haptime,numberplate,reason from peccancy
--delete from peccancy6 peccancy6
where peccancy.rowid !=
(
select max(rowid) from peccancy b
where peccancy.haptime = b.haptime and
peccancy.numberplate = b.numberplate and
peccancy.reason = b.reason
)
2、删除重复记录
delete from peccancy peccancy
where peccancy.rowid !=
(
select max(rowid) from peccancy b
where peccancy.haptime = b.haptime and
peccancy.numberplate = b.numberplate and
peccancy.reason = b.reason
)URL查看 http://www.qqread.com/oracle/t062406105.html进入讨论组讨论。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 教你正确的理解什么是数据库恢复 (14次浏览)
- Oracle数据库系统使用的几条经验分享 (5次浏览)
- JDBC连接Oracle数据库的十个技巧 (4次浏览)
- Oracle数据库三种标准的备份方法 (4次浏览)
- Oracle数据库的四种启动方式 (3次浏览)
- 在TransactionScope中优先使用Oracle的.NET驱 (2次浏览)
- Eclipse连接Oracle数据库的具体步骤 (2次浏览)
- 如何手工创建Oracle数据库 (1次浏览)
- 提高Oracle数据库系统Import的性能 (0次浏览)
- Oracle 9i在AIX上的性能调整 (0次浏览)



