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 に答える