Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Cursor
 

Sql%notfound

SQL> SQL> create table ord   2          (   3           order_no               integer         primary key   4          ,empl_no                integer   5          ,order_date             date not null   6          ,total_order_price      number(7,2)   7          ,deliver_date           date   8          ,deliver_time           varchar2(7)   9          ,payment_method         varchar2(2)  10          ,emp_no                 number(3,0)  11          ,deliver_name           varchar2(35)  12          ,gift_message           varchar2(100)  13           ); Table created. SQL> SQL> insert into ord(order_no,empl_no,order_date,total_order_price,deliver_date,deliver_time,payment_method,emp_no,deliver_name,gift_message)   2  values(1,1,add_months(sysdate, -1), 235.00, '14-Feb-1999', '12 noon', 'CA',1, null, 'Gift for wife'); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time ,payment_method ,emp_no,deliver_name ,gift_message )   2  values(2,1,add_months(sysdate, -2), 50.98, '14-feb-1999', '1 pm', 'CA',7, 'Rose', 'Happy Valentines Day to Mother'); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time,payment_method ,emp_no,deliver_name ,gift_message )   2  values(3, 2,add_months(sysdate, -3), 35.99, '14-feb-1999', '1 pm', 'VS',2, 'Ruby', 'Happy Valentines Day to Mother'); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time,payment_method ,emp_no,deliver_name ,gift_message )   2  values(4, 2,add_months(sysdate, -4), 19.95, '14-feb-1999', '5 pm', 'CA',2, 'Coy', 'Happy Valentines Day to You'); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time,payment_method ,emp_no,deliver_name ,gift_message )   2  values(7, 9,add_months(sysdate, -7), 35.95, '21-jun-1999', '12 noon', 'VS', 2, 'Fill', 'Happy Birthday from Joe'); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time,payment_method ,emp_no,deliver_name ,gift_message )   2  values (8, 12, add_months(sysdate, -8), 35.95, '1-jan-2000', '12 noon', 'DI',3, 'Laura', 'Happy New Year''s from Lawrence'); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time,payment_method ,emp_no,deliver_name ,gift_message )   2  values (9, 12, add_months(sysdate, -9), 75.95, '2-jan-2000', '12 noon', 'CA',7, 'Sara', 'Happy Birthday from Lawrence' ); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time,payment_method ,emp_no,deliver_name ,gift_message )   2  values(10, 4, add_months(sysdate, -10), 19.95, sysdate, '2:30 pm', 'VG',2, 'OK', 'Happy Valentines Day to You'); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time,payment_method ,emp_no,deliver_name ,gift_message )   2  values(11, 2, add_months(sysdate, -11), 30.00, sysdate+2, '1:30 pm', 'VG',2, 'Hi', 'Happy Birthday Day to You'); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time,payment_method ,emp_no,deliver_name ,gift_message)   2  values(12, 7, add_months(sysdate, -12), 21.95, sysdate-2, '3:30 pm', 'CA',2, 'Jack', 'Happy Birthday Day to You'); 1 row created. SQL> SQL> insert into ord(order_no  ,empl_no ,order_date ,total_order_price ,deliver_date ,deliver_time,payment_method ,emp_no,deliver_name ,gift_message)   2  values(13, 7, add_months(sysdate, -1), 21.95, sysdate, '3:30 pm', 'CA',2, 'Jay', 'Thanks for giving 100%!'); 1 row created. SQL> SQL> create table ord_history   2          (   3           order_no               integer         primary key   4          ,empl_no                integer   5          ,order_date             date not null   6          ,total_order_price      number(7,2)   7          ,deliver_date           date   8          ,deliver_time           varchar2(7)   9          ,payment_method         varchar2(2)  10          ,emp_no                 number(3,0)  11          ,deliver_name           varchar2(35)  12          ,gift_message           varchar2(100)  13           ); Table created. SQL> create or replace procedure delete_orders(p_days in number)   2  is   3  begin   4       insert into ord_history select * from ord where order_date < sysdate - p_days;   5       if sql%notfound then   6          dbms_output.put_line('No orders old than ' || p_days || ' days');   7       else   8          delete from ord   9          where order_date < sysdate - p_days;  10          dbms_output.put_line(sql%rowcount || ' rows deleted that were older than ' || p_days || ' days');  11       end if;  12  end;  13  / Procedure created. SQL> show errors No errors. SQL> SQL> drop table ord; Table dropped. SQL> drop table ord_history; Table dropped.