The following lines contain the word 'select', 'insert', 'update' or 'delete':
, x_delete_list OUT NOCOPY PO_TBL_NUMBER
, x_insert_list OUT NOCOPY PO_TBL_NUMBER
, x_update_list OUT NOCOPY PO_TBL_NUMBER
);
INSERT INTO po_session_gt
( key,
num1
)
SELECT l_key,
l_index_tbl(i)
FROM DUAL
WHERE EXISTS (SELECT 1
FROM po_distributions_draft_all PDD
WHERE PDD.draft_id = p_draft_id_tbl(i)
AND PDD.po_distribution_id =
NVL(p_po_distribution_id_tbl(i),
PDD.po_distribution_id)
AND NVL(PDD.change_accepted_flag, 'Y') = 'Y');
DELETE FROM po_session_gt
WHERE key = l_key
RETURNING num1
BULK COLLECT INTO l_dft_exists_index_tbl;
, x_delete_list OUT NOCOPY PO_TBL_NUMBER
, x_insert_list OUT NOCOPY PO_TBL_NUMBER
, x_update_list OUT NOCOPY PO_TBL_NUMBER
) IS
d_api_name CONSTANT VARCHAR2(30) := 'group_records_by_dml_type';
x_delete_list := PO_TBL_NUMBER();
x_insert_list := PO_TBL_NUMBER();
x_update_list := PO_TBL_NUMBER();
SELECT PDD.po_distribution_id,
NVL(PDD.delete_flag, 'N'),
DECODE(PD.po_distribution_id, NULL, 'N', 'Y')
BULK COLLECT
INTO l_id_list,
l_del_flag_list,
l_txn_exists_list
FROM po_distributions_draft_all PDD,
po_distributions_all PD
WHERE PDD.draft_id = p_draft_info.draft_id
AND NVL(PDD.change_accepted_flag, 'Y') = 'Y'
AND PDD.po_distribution_id = PD.po_distribution_id(+);
x_delete_list.extend;
x_delete_list(x_delete_list.LAST) := l_id_list(i);
x_update_list.extend;
x_update_list(x_update_list.LAST) := l_id_list(i);
x_insert_list.extend;
x_insert_list(x_insert_list.LAST) := l_id_list(i);