I have created the packages as per below:
---- Creating specification
CREATE OR REPLACE PACKAGE SM_OWN.mv_refr_pkg
IS
PROCEDURE PROC_MV_REFRESH;
END mv_refr_pkg;
/
---- Creating BODY
CREATE OR REPLACE PACKAGE BODY SM_OWN.mv_refr_pkg
IS
PROCEDURE PROC_MV_REFRESH
IS
BEGIN
FOR mv_name IN
(SELECT NAME
FROM sys.dba_dependencies
WHERE OWNER = 'SM_OWN'
AND referenced_name='SM_TRANSFER'
AND TYPE='MATERIALIZED VIEW')
LOOP
DBMS_OUTPUT.PUT_LINE(systimestamp || ' Refreshing materialized view SM_OWN.'||mv_name.Name );
DBMS_SNAPSHOT.REFRESH('SM_OWN.'||mv_name.Name);
END LOOP;
END PROC_MV_REFRESH;
END;
/
How to Run:
set serveroutput on ;
execute SM_OWN.mv_refr_pkg.PROC_MV_REFRESH;