我想通过使用plsql中的集合以升序显示数字。
我有下面的代码。它将以未排序的顺序显示数字,但我想以已排序的顺序显示它们
DECLARE
TYPE num_asc IS
TABLE OF NUMBER;
rec_num num_asc;
v_var NUMBER;
BEGIN
rec_num := num_asc(10,21,13,14,52,16);
FOR i IN rec_num.first..rec_num.last LOOP
dbms_output.put_line (rec_num (i));
END LOOP;
END;
最佳答案
使用SQL。当然,这是最少的代码,而且可能是最有效的方法。只需将集合类型更改为我们可以在table()
函数中使用的类型:
DECLARE
rec_num sys.odcinumberlist;
BEGIN
rec_num := sys.odcinumberlist(10,21,13,14,52,16);
for i in (select * from table(rec_num) order by 1)
loop
dbms_output.put_line(i.column_value);
end loop;
END;