The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT
sub.full_name sub_person_name
,NVL(sub.employee_number, sub.npw_number)
sub_emp_cwk_number
,sup.full_name sup_person_name
,NVL(sup.employee_number, sup.npw_number)
sup_emp_cwk_number
,assg.supervisor_id supervisor_id
FROM
per_all_assignments_f assg
,per_assignment_status_types ast
,per_people_x sup
,per_people_x sub
WHERE assg.person_id = p_psn_id
AND p_date BETWEEN assg.effective_start_date
AND assg.effective_end_date
AND assg.assignment_status_type_id = ast.assignment_status_type_id
AND ast.per_system_status <> 'TERM_ASSIGN'
AND assg.primary_flag = 'Y'
AND assg.assignment_type IN ('E','C')
AND assg.person_id = sub.person_id
AND assg.supervisor_id = sup.person_id;
l_sql_stmt := 'SELECT ' || p_dyn_sql || ' FROM dual';
SELECT
stp.dynamic_sql
,stp.dynamic_sql_type
,stp.report_type
,stp.default_mode
,stp.impact_msg_name
FROM
hri_adm_dgnstc_setup stp
WHERE stp.object_name = p_object_name
AND stp.object_type = p_object_type;
l_sql_stmt := 'SELECT COUNT(*) FROM (' || l_sql_stmt || ')';