簡體   English   中英

排序集合

[英]Sorting a collection

我想排序一個集合類型,並根據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;

為了說明一個非常小的例子,我提到了以下片段。 希望這對您有所幫助。

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

------------------------------------------------------------------------------------

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM