0

有没有办法使用plsql按降序迭代游标?

我试过这个:

FOR item IN REVERSE items 
LOOP  
-- do stuff
END LOOP;

但它似乎忽略了反向关键字。

有什么建议么?

4

3 回答 3

6

确定数据遍历顺序的是 SQL 子句,因此只需在查询中应用适当的 ORDER BY。

于 2013-05-20T11:37:37.200 回答
0
DECLARE
cursor c1 is Select * FROM table_1
where (something)
order by (id..whatever you want) DESC; --decrement
v_variable.table%rowtype;
BEGIN
open c1;

fetch c1 into variable; -- will fetch  first row...but it will be DESC

close c1;

END;

类似的东西......或者

FOR i1 IN c1
LOOP
i1.id...
something...
END LOOP;

或者

FOR i2 IN (Select * FROM table_1
    where (something)
    order by (id..whatever you want) DESC) 
LOOP
--something
END LOOP;
于 2013-12-12T08:52:21.373 回答
0

由于您没有任何要排序的列,请尝试使用 order by rownum

于 2016-08-23T16:52:42.643 回答