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怎么表示包含关系
- randomize 的速度问题,请教
- procobol问题。紧急!!!
- 小菜求助,关于存储过程执行的问题
- 如果是本机连本机是不是不需要TNS也可以?
- 问一个有点难度的SQL查询
- 如何查看包的定义信息
- 求一sql
- 如何导入数据
- 数据库的设计的问题,如果这个我们都搞不清,还数据库开发?居然没人回答的上?
- 重分悬赏!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
然后:
问题最好能举些实例,这样子好测试!