熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

FORALL與BULKCOLLECT的使用方法

2013-11-13 22:10:01  來源: Oracle 
.使用FORALL比FOR效率高因為前者只切換一次上下文而後者將是在循環次數一樣多個上下文間切換

  .使用BLUK COLLECT一次取出一個數據集合比用游標條取數據效率高尤其是在網絡不大好的情況下但BLUK COLLECT需要大量內存

  使用例子

  ()定義一個TABLE

  CREATE OR REPLACE TYPE string_table AS TABLE OF VARCHAR();

  ()在存儲過程裡面測試

  DECLARE

  v_table string_table;

  BEGIN

  SELECT cust_name

  BULK COLLECT INTO v_table

  FROM cust c

  WHERE ccust_id BETWEEN AND ;

  FORALL idx IN v_tableCOUNT

  INSERT INTO cust_test VALUES(v_table(idx));

  COMMIT;

  END;


From:http://tw.wingwit.com/Article/program/Oracle/201311/18355.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.