CREATE OR REPLACE PROCEDURE SP_EMP3(SP_STARTDATE DATE, SP_ENDDATE DATE) IS BEGIN MERGE INTO EMP2 A USING(SELECT EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO FROM EMPEMP2@IKE B WHERE B.HIREDATE >= SP_STARTDATE AND B.HIREDATE < SP_ENDDATE ) B ON(A.EMPNO=B.EMPNO ) WHEN MATCHED THEN UPDATE SET --A.EMPNO = B.EMPNO,注意更新的数据不能含有上面连接条件字段EMPNO A.ENAME = B.ENAME, A.JOB = B.JOB, A.MGR = B.MGR, A.HIREDATE = B.HIREDATE, A.SAL = B.SAL, A.COMM = B.COMM, A.DEPTNO = B.DEPTNO WHEN NOT MATCHED THEN INSERT (A.EMPNO, A.ENAME, A.JOB, A.MGR, A.HIREDATE, A.SAL, A.COMM, A.DEPTNO) VALUES(B.EMPNO, B.ENAME, B.JOB, B.MGR, B.HIREDATE, B.SAL, B.COMM, B.DEPTNO); COMMIT; END;
浙公网安备 33010602011771号