--插入資料:
<code>declare</code>
<code> </code><code>--定義cursor把資料全部讀入記憶體中</code>
<code> </code><code>cursor cur is</code>
<code> </code><code>select t.pk_account_detail_id from Ecm_Member_Account_Details t;</code>
<code> </code><code>--自定義集合類型</code>
<code> </code><code>type rec is table of cur%rowtype;</code>
<code> </code><code>recs rec;</code>
<code>begin</code>
<code> </code><code>open cur;</code>
<code> </code><code>while</code> <code>(</code><code>true</code><code>) loop</code>
<code> </code><code>fetch cur bulk collect</code>
<code> </code><code>into recs limit 10000;--10000行執行一次遊标讀取操作</code>
<code> </code><code>--把資料逐條插入</code>
<code> </code><code>forall i in 1 .. recs.count</code>
<code> </code><code>Insert </code><code>/*+parllel(t,4)*/</code> <code>Into test_a</code>
<code> </code><code>Select * from test_b t Where t.pk_payrefu_id=Recs(i).pk_payrefu_id;</code>
<code> </code><code>commit;</code>
<code> </code><code>exit</code> <code>when cur%notfound;</code>
<code> </code><code>end loop;</code>
<code> </code><code>close cur;</code>
<code>end;</code>
--更新操作
<code> </code><code>type rowid_list is table of Number index by binary_integer;</code>
<code> </code><code>-- i number;</code>
<code> </code><code>rowid_infos rowid_list;</code>
<code> </code><code>cursor c_rowids is select t.pk_account_detail_id from Ecm_Member_Account_Details t ;</code>
<code> </code><code>begin</code>
<code> </code><code>open c_rowids;</code>
<code> </code><code>loop</code>
<code> </code><code>fetch c_rowids bulk collect into rowid_infos limit 10000;</code>
<code> </code><code>Forall i in 1..rowid_infos.count</code>
<code> </code><code>Update </code><code>/*+parllel(t,4)*/</code> <code>Ecm_Member_Account_Details Tt Set Tt.Fk_Order_Class_Id = 1</code>
<code> </code><code>where tt.pk_account_detail_id=rowid_infos(i);</code>
<code> </code><code>commit;</code>
<code> </code><code>exit</code> <code>when rowid_infos.count<10000;</code>
<code> </code><code>end loop;</code>
<code> </code><code>close c_rowids;</code>
<code> </code><code>end;</code>
--删除操作
<code> </code><code>select t.id from test_a t;</code>
<code> </code><code>delete</code> <code>From Ecm_Order_Payrefus t Where t.pk_id=Recs(i).id;</code>
轉:http://www.cndba.cn/account/article/details/129
本文轉自 張沖andy 部落格園部落格,原文連結: http://www.cnblogs.com/andy6/p/5840700.html ,如需轉載請自行聯系原作者