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

oracle按时间查询翻页时出现与前面一页重复数据

用hibernate查询分页时,翻页显示中有少量记录是重复的。已经确认sql写法没错误。
select savebillin0_.*,entityacct2_.*
from save_bill_info savebillin0_,
CUST_INFO custinfo1_,
entity_acct_bill entityacct2_
where savebillin0_.cust_id = custinfo1_.ID
and entityacct2_.ACCOUT_ID =
(select max(entityacct3_.ACCOUT_ID)
from entity_acct_bill entityacct3_
where entityacct3_.SAVEBILL_ID = savebillin0_.SAVEBILL_ID)
and savebillin0_.OPER_STATUS <> 'BPP00'
and savebillin0_.ADSCRIPTION_ID = '00010015'
order by entityacct2_.OPER_DATE desc   
经过发现当oper_date这个字段为同一天时,导致翻页出现少量重复数据,加入,savebillin0_.savebill_id desc 唯一性字段的排序后可以解决,可能跟oracle内部排序细节有关系。


相关文档:

oracle 多表关联 的 update


表中要更新的数据,必须要通过和另一个表来关联才能确定要更新的条目,mssql可以直接用 from t1.id=t2.id 来更新,而Oracle则报错
最后google到这样,直接将关联后的表作为一个表来更新。。。。
update (select * from us_cm_cat_petrol_gun g 
       left join us_cm_ci c on g.machine_sn ......

(转)oracle中的rownum


在Oracle中,要按特定条件查询前N条记录,用个rownum就搞定了。
select * from emp where rownum <= 5
而且书上也告诫,不能对rownum用">",这也就意味着,如果你想用
select * from emp where rownum > 5
则是失败的。要知道为什么会失败,则需要了解rownum背后的机制:
1 Oracle executes your quer ......

oracle优化 缓存对象与数据

author:skate
time:2010/03/16
当系统出现性能瓶颈时,尽量较少不必要的资源消耗,最后就是平衡cpu,内存,io,network等资源,使数据库
可以稳定的运行。
oracle数据库优化的根本是
1.尽量减少资源消耗,例如优化sql,减少sql本身的资源消耗
2.如果无法进一步减少资源的消耗,那就让数据尽量靠近cpu,也就是把数据 ......

ORACLE类似split函数的功能

 SELECT ID,
       col_name,
       SUBSTR(col_name, 1, INSTR(col_name || ',', ',', 1, 1) - 1) C1,
       SUBSTR(col_name,
              ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号