2014-04-03 2 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 или будет выполнена глубокая копия, есть ли лучший способ вставить элементы записи в таблицу, здесь я могу не использовать выбор для вставки в таблицу?

ответ

0

Элементы, помещенные в стол, как это глубоко скопированы. SQLFiddle here

Делитесь и наслаждайтесь.

Смежные вопросы