Code /**//*
* Judge the period is valid or not for PL creation
* */
declare cursor cur is select* from (select to_date('05/06/2009', 'mm/dd/yyyy') as start_date,
to_date('05/16/2009', 'mm/dd/yyyy') as end_date from dual union select to_date('04/06/2009', 'mm/dd/yyyy') as start_date,
to_date('04/16/2009', 'mm/dd/yyyy') as end_date from dual union select to_date('03/06/2009', 'mm/dd/yyyy') as start_date,
to_date('03/16/2009', 'mm/dd/yyyy') as end_date from dual) where1=1;
v_new_start_date date := to_date('03/17/2008', 'mm/dd/yyyy');
v_new_end_date date := to_date('04/05/2009', 'mm/dd/yyyy');
v_flag number :=0; -- ok begin
if (v_new_end_date < v_new_start_date or
v_new_start_date = v_new_end_date) then
v_flag :=1;
dbms_output.put_line(v_flag); return; endif; for c in cur loop
ifnot
((v_new_start_date > c.end_date) or (v_new_end_date < c.start_date)) then
v_flag :=1;
dbms_output.put_line(v_flag);