The following lines contain the word 'select', 'insert', 'update' or 'delete':
select
greatest(min(asg.effective_start_date)
,min(ptp.start_date))
from
per_all_assignments_f asg
,per_time_periods ptp
where asg.assignment_id = p_assignment_id
and ptp.payroll_id = asg.payroll_id
and ptp.start_date <= asg.effective_end_date;
SELECT ptp.start_date
FROM per_all_assignments_f ass
,per_time_periods ptp
WHERE ass.assignment_id = p_assignment_id
AND ass.effective_start_date <= p_upload_date
AND ass.effective_end_date >= p_upload_date
AND ptp.payroll_id = ass.payroll_id
AND p_upload_date BETWEEN ptp.start_date
AND ptp.end_date;
SELECT TO_DATE('0105'||TO_CHAR(p_upload_date,'YYYY'),'DD/MM/YYYY')
INTO l_holiday_year
FROM DUAL;