The following lines contain the word 'select', 'insert', 'update' or 'delete':
function insertion (p_item_id IN number,
p_org_id IN number,
p_category_id IN number,
p_vendor_product_num IN VARCHAR2,
p_vendor_id IN NUMBER,
p_description IN VARCHAR2) return number;
p_auto_insert_flag boolean) return number
is
l_item_key number;
SELECT /*+ FIRST_ROWS */ po_item_id
into l_item_key
from poa_items
where item_id = p_item_id
and organization_id = l_org_id
--and category_id = p_category_id
;
select /*+ FIRST_ROWS */ po_item_id
into l_item_key
from poa_items
where item_id is NULL
AND organization_id IS null
and category_id = p_category_id
and description = p_description
and vendor_product_num is NULL
and vendor_id IS null ;
select /*+ FIRST_ROWS */ po_item_id
into l_item_key
from poa_items
where item_id is NULL
AND organization_id IS null
and vendor_product_num = p_vendor_product_num
AND vendor_id = p_vendor_id;
if(p_auto_insert_flag) THEN
l_item_key := insertion (p_item_id,l_org_id,l_category_id,l_vendor_prod,l_vendor_id, l_description);
function insertion (p_item_id IN number,
p_org_id IN number,
p_category_id IN number,
p_vendor_product_num IN VARCHAR2,
p_vendor_id IN number,
p_description IN varchar2) return number
IS
pragma AUTONOMOUS_TRANSACTION;
insert into poa_items (po_item_id, item_id, organization_id, category_id, vendor_product_num, vendor_id, description)
values (poa_items_s.nextval,p_item_id,p_org_id,p_category_id,p_vendor_product_num, p_vendor_id, p_description)
returning po_item_id INTO l_item_key;
end insertion;