2013-05-20 4 views
0

plsql을 사용하여 커서를 내림차순으로 반복 할 수 있습니까?루프 plsql의 반전 된 커서

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

하지만 역 키워드를 무시하는 것 같다

나는이 시도.

제안 사항?

+0

당신의'items'는 무엇으로 구성되어 있습니까? – Noel

+0

간단한 선택 – sgrossman

+0

구체적으로 말하면, 그 간단한 선택은 테이블에 매핑 된 XML 파일에 있습니다. 요구 사항은 마지막 xml 태그에서 첫 번째 태그로 이동하므로 주문할 특정 열은 없습니다. – sgrossman

답변

6

데이터가 순회되는 순서를 결정하는 SQL 절이 있으므로 쿼리에 적절한 ORDER BY를 적용하면됩니다. 그런

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; 
0

당신에 의해 주문하는 모든 열을 가지고 있지 않기 때문에, ROWNUM에 의해 순서를 사용하려고