数据库 oracle9i语句:
String sql="select t.supplier_no as supplier_no,t.supplier_name as supplier_name from  ps_supplier t where t.development_date is not null and t.development_date<=sysdate order by t.supplier_name";
return jdbcTemplate.queryForList(sql);
我在项目中调用这句sql
1.点按钮去查询 sql只有200条记录
2.我在出现的页面上刷新就有1380条记录
3.我把排序删了(order by t.supplier_name) 结果集就对了
    现在sql语句中的排序不能删除,此问题怎么解决

解决方案 »

  1.   

    对的!你不同时间刷新,sysdate是变化的,查询出来的数据也是不同的
      

  2.   

    回复2-3楼  我sysdate 始终比development_date大  其实这条件加不加都一样
      

  3.   

    那就有可能是其它事务往这个表insert了数据,并且commit了,因此你前后刷新查询出来的数据不一样
      

  4.   

    你可以logminer下日志,看看表里数据的变动情况.order by不会造成数据变化,仅仅是个排序而已.
      

  5.   

    相同的sql只要参数不变,结果是不会变的
      

  6.   

    这个东西不关order by t.supplier_name 
    是你的查询窗口的页显示数据条数的问题吧  还是sysdate 的原因 估计有人在插入数据