oracle中bulk collect into用法 (批次效率提取遊標資料)

itpub120發表於2012-07-31
oraclebulk collect into用法 (批次效率提取遊標資料)[@more@]

透過bulk collect減少loop處理的開銷
採用bulk collect可以將查詢結果一次性地載入到collections中。 而不是透過cursor一條一條地處理。 注意在使用bulk collect時,所有的into變數都必須是collections.

例子:(把一個表的資料放入集合中,然後再取出)

create or replace procedure test_bulk_collect_intois type a is table of varchar2(30); --如果是一個表的好幾個欄位的話,可以這麼寫type a is table of AA(表名)%rowtype;  aa a;begin --假如我講個表AA,裡面插入1,2,3三條記錄 --透過SELECT把這個三條記錄直接放進集合aa execute immediate ' select a from aa' BULK COLLECT INTO aa; --AA中的資料。 for i in 1..aa.count loop dbms_output.put_line(i) ; --aa(i) end loop; end test_bulk_collect_into;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8109090/viewspace-1059047/,如需轉載,請註明出處,否則將追究法律責任。

相關文章