update (select n.status n_status from a c, c n , b cha
where c.status = 1 order by c.prority desc)
set n_status = upStatus where rownum <= 100;这个sql在oracle9I中是可以执行的但是到了oracle10g中就不能执行了。原因就是order by 和rownum<=100的这个属于不兼容。请教这个语句应该怎么写,才10g中能执行???
where c.status = 1 order by c.prority desc)
set n_status = upStatus where rownum <= 100;这个sql在oracle9I中是可以执行的但是到了oracle10g中就不能执行了。原因就是order by 和rownum<=100的这个属于不兼容。请教这个语句应该怎么写,才10g中能执行???
解决方案 »
- 刚安装好的oracle中的,listener.ora为什么除了一大堆注释什么也没有啊???
- 一个简单sql求助
- 我更换了一台新的服务器,该机上现只有操作系统,如何把旧服务器上的oracle 10g迁移到新的服务器上,请高人赐教,谢谢!
- 高手帮帮忙:Oracle Job为什么会无缘无故停掉?
- oralce中的Enterprise Manager Console 中的独立启动和登陆启动有什么区别?
- [急]SQLSERVER数据库导入到ORACLE里面之后...
- oracle9i 的db_files参数问题
- 怎样把一行记录各列的值相加?
- 关于decode()的高级用法???
- 每月按各类进行统计
- 重分悬赏!Oracle,Spool 不会用,无法写批处理删除用户的会话session!!!!!!!!!!!!!!!!!!!!!!!!!!!
- JAVA读取文本文件,然后执行该SQL语句,出现java.sql.SQLException: ORA-00911: invalid character报错
UPDATE (SELECT STATUS
FROM C
WHERE ROWID IN (SELECT RID
FROM (SELECT C.ROWID RID,
ROW_NUMBER() OVER(ORDER BY C.PRORITY DESC)
FROM A C, C N, B CHA
WHERE C.STATUS = 1)
WHERE RN <= 3))
SET STATUS = UPSTATUS;
用row_number 换order by
然后:
问题最好能举些实例,这样子好测试!