2014-04-03 116 views
0

定義:將記錄添加到循環內的plsql關聯數組中?記錄

TYPE REC_ITEM_ACC is record (
     item_account_id manual_transaction.item_account_id%TYPE  
    ,tag_id manual_transaction.tag_id%TYPE 
    ,change_in_balance bank_account.current_balance%type 
); 
    V_REC_ITEM_ACC REC_ITEM_ACC; 

表的定義:

TYPE TAB_ITEM_ACC is table of REC_ITEM_ACC 
index by PLS_INTEGER; 
V_TAB_ITEM_ACC TAB_ITEM_ACC; 

內部循環,v_man_txn_rec_table是記錄另一個表,與現場「item_account_id」,選擇進入查詢在將數據v_man_txn_rec_table表,我想做這樣的事情(表/關聯數組使用記錄的item_account_id字段進行索引):

V_REC_ITEM_ACC.item_account_id := some value from select into query 
V_REC_ITEM_ACC.tag_id := some value from select into query 
V_REC_ITEM_ACC.change_in_balance := some value from select into query  
V_TAB_ITEM_ACC(v_man_txn_rec_table(i).item_account_id) := V_REC_ITEM_ACC 

這裏在循環中,只是將V_REC_ITEM_ACC的引用添加到關聯數組/表V_TAB_ITEM_ACC中,否則會執行深度複製,是否有更好的方法將記錄元素插入到表中,在這裏我可以不使用select into插入表中?

回答

0

放入這樣的表格中的項目被深度複製。 SQLFiddle here

分享和享受。