Как в Бегин засунуть матвьюху?
DECLARE
l_Cnt_Del NUMBER;
BEGIN
Dbms_Mview.Refresh('SH_TEST_SH_TEST_VIEW_MV', Atomic_Refresh => FALSE);
Dbms_Stats.Gather_Table_Stats(Ownname => 'SH_TEST',
Tabname => 'SH_TEST_VIEW_MV',
Estimate_Percent => 10,
Method_Opt => 'FOR ALL COLUMNS SIZE 1',
Degree => 4,
Cascade => FALSE,
No_Invalidate => FALSE);
INSERT —+ append
INTO SH_TEST_SH_TEST_VIEW_HISTORY
SELECT cvh.cust_id,cvh.calc_date,cvh.cust_name,cvh.cust_sys_code
FROM SH_TEST_SH_TEST_View_Mv ;
DELETE FROM SH_TEST_SH_TEST_VIEW_HISTORY Cvh
WHERE Cvh.Calc_Date < Trunc(SYSDATE) - 14;
l_Cnt_Del := SQL%ROWCOUNT;
COMMIT;
IF l_Cnt_Del > 0 THEN
EXECUTE IMMEDIATE 'alter table SH_TEST_SH_TEST_VIEW_HISTORY shrink space cascade';
EXECUTE IMMEDIATE 'alter index SH_TEST_VIEW_HISTORY_D rebuild';
END IF;
Sys.Dbms_Stats.Gather_Table_Stats(Ownname => 'SH_TEST',
Tabname => 'SH_TEST_VIEW_HISTORY',
Estimate_Percent => 10,
Method_Opt => 'FOR ALL COLUMNS SIZE 1',
Degree => 4,
Cascade => TRUE,
No_Invalidate => FALSE);
END;