请问sqlserver中的如下语句
  INSERT INTO TEMPYH(LJCS , YHBM) 
  SELECT TOP 500 COUNT(*) CS_TMP , YHBM
  FROM VIEW_GYTDYH
  GROUP BY YHBM
  ORDER BY CS_TMP DESC
如何转换成oracle的语句
 --我碰到order by不支持子句查询 和 rownum子句不受order by 影响另为integer型的数据建入到oracle中变成了number(8,0)型的数据,那么在delphi中要同时访问显示sqlserver和oracle中的integer类型字段时就会出现 
错误 显示为integer实际为float;

解决方案 »

  1.   

    INSERT INTO TEMPYH(LJCS , YHBM)
    ( select * from (
      SELECT COUNT(*) CS_TMP , YHBM
      FROM VIEW_GYTDYH
      GROUP BY YHBM
      ORDER BY CS_TMP DESC) where rownum<=500)
      

  2.   

    我的版本是8.05,上面的方法搞不定
    我想找一种不用游标处理 的方法
    客户要求我们的开发兼容oracle 7,8 ,9 版本;
    有没有哪位同志知道游标直接定位到最后一条记录的方法,刚学