create or replace procedure previous_flight (code in varchar2, c_routecode out varchar2, c_source out varchar2, c_destination out varchar2, c_via out varchar2 , c_via2 out varchar2) as row rowid; newrow rowid; begin select rowid into newrow from flight where route_code = code; select max(rowid) into row from flight where rowid < newrow; select route_code,source,destination,via,via2, into c_routecode,c_source,c_destination,c_via,c_via2 from flight where rowid = row; exception when no_data_found then raise_application_error(-20101,'Record does not exist'); null; end; /