I have a procedure which receives a record as an IN parameter (the procedure also has an OUT parameter.)
CREATE OR REPLACE PACKAGE p
  PROCEDURE p_select( p_filter_params IN t_filter_params
                    , p_order_list OUT SYS_REFCURSOR);
END p;
CREATE OR REPLACE PACKAGE BODY p
  PROCEDURE p_select( p_filter_params IN t_filter_params
                    , p_order_list OUT SYS_REFCURSOR) AS
  BEGIN
    IF p_filter_params IS NULL
      THEN
        NULL;
    END IF;
  END p_select,
END p;
executable section
DECLARE
  TYPE t_filter_params IS RECORD
    ( f_name    customers.cust_first_name%TYPE
    , l_name    customers.cust_last_name%TYPE
    , city      customers.cust_address.city%TYPE
    , from_date orders.order_date%TYPE
    , to_date   orders.order_date%TYPE);
  vr_params t_filter_params;
  TYPE ref_cursor IS REF CURSOR;
  v_cursor ref_cursor;
BEGIN
  /*vr_params.f_name := 'john';
  vr_params.l_name := 'smith';
  vr_params.city := 'Dallas';
  vr_params.from_date := SYSDATE - 100;
  vr_params.to_date := SYSDATE;*/
  --p.p_select(vr_params, v_cursor);
  p.p_select(null, v_cursor);
end;
Can someone tell me how to make it work the IF statement from procedure, please?
Thank you very much, Mikcutu.
 
     
     
     
    