2015-12-29 6 views
0

Я хотел бы отсортировать тип коллекции и заполнить новую коллекцию в соответствии с порядком даты DESC. Как мне это сделать?Сортировка коллекции

TYPE xyz IS RECORD( 

Item  aa.Item%Type, 
t_date  date, 
Code  aa.Code%Type, 
Qty  aa.Units%Type, 
Cost  aa.Total_Cost%TYPE); 


TYPE uxyz IS TABLE OF xyz; 
l_uxyz uxyz; 

ответ

0

Просто, чтобы проиллюстрировать очень маленький пример, я упомянул ниже фрагмента. Надеюсь, это поможет вам.

-- SQL Table type creation 
CREATE OR REPLACE TYPE NUMBER_NTT 
IS 
    TABLE OF NUMBER; 

-- Anonomous block to illustrate your question 
    SET serveroutput ON; 
    DECLARE 
    TYPE lv_num_tab 
IS 
    TABLE OF NUMBER; 
    lv_num1 lv_num_tab:=lv_num_tab(); 
    lv_num2 NUMBER_NTT; 
BEGIN 
    lv_num2:=NUMBER_NTT(1,3,4,7,2,6); 
    SELECT COLUMN_VALUE BULK COLLECT 
    INTO lv_num1 
    FROM TABLE(lv_num2) 
    ORDER BY 1 DESC; 
    dbms_output.put_line('With desc order'); 
    FOR i IN lv_num1.FIRST..lv_num1.LAST 
    LOOP 
    dbms_output.put_line(lv_num1(i)); 
    END LOOP; 
    SELECT COLUMN_VALUE BULK COLLECT INTO lv_num1 FROM TABLE(lv_num2); 
    dbms_output.put_line('Without desc order'); 
    FOR i IN lv_num1.FIRST..lv_num1.LAST 
    LOOP 
    dbms_output.put_line(lv_num1(i)); 
    END LOOP; 
END; 

-------------------------------------OUTPUT----------------------------------------- 

anonymous block completed 
With desc order 
7 
6 
4 
3 
2 
1 
Without desc order 
1 
3 
4 
7 
2 
6 

------------------------------------------------------------------------------------ 
+0

Будет ли это полезно для сложных типов записей? – bib

Смежные вопросы