--简单方法
CREATE OR REPLACE PROCEDURE SP_EMPB(P_START_DATE VARCHAR2,
P_END_DATE VARCHAR2) IS
V_START_DATE DATE := TO_DATE(P_START_DATE, 'YYYY-MM-DD HH24:MI:SS');
V_END_DATE DATE := TO_DATE(P_END_DATE, 'YYYY-MM-DD HH24:MI:SS');
BEGIN
DELETE FROM EMPEMP
WHERE EMPNO IN (SELECT E.EMPNO
FROM EMP E
WHERE E.LAST_UPDATE_DATE >= V_START_DATE
AND E.LAST_UPDATE_DATE < V_END_DATE);
INSERT INTO EMPEMP A
(A.EMPNO,
A.ENAME,
A.JOB,
A.MGR,
A.HIREDATE,
A.SAL,
A.COMM,
A.DEPTNO,
A.LAST_UPDATE_DATE)
SELECT E.EMPNO,
E.ENAME,
E.JOB,
E.MGR,
E.HIREDATE,
E.SAL,
E.COMM,
E.DEPTNO,
SYSDATE
FROM EMP E
WHERE LAST_UPDATE_DATE >= V_START_DATE
AND LAST_UPDATE_DATE < V_END_DATE;
COMMIT;
END;
--调用(把视图内数据2000年到2020年,每三个月调用一次)
BEGIN
SP_EMPB('2017-04-05 00:00:00','2017-04-06 00:00:00');
END;
是的