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.