You are on page 1of 2

CREATE OR REPLACE PROCEDURE HR.CURSORUPDATE IS CURSOR CURSORUPDATE IS SELECT EMP.EMPLOYEE_ID, EMP.FIRST_NAME, EMP.SALARY, DEPT.DEPARTMENT_ID, DEPT.

DEPARTMENT_NAME FROM EMPLOYEES EMP, DEPARTMENTS DEPT WHERE EMP.DEPARTMENT_ID = DEPT.DEPARTMENT_ID AND EMP.EMPLOYEE_ID BETWEEN 100 AND 200 AND (EMP.DEPARTMENT_ID = 50 OR EMP.DEPARTMENT_ID = 80 OR EMP.DEPARTMENT_ID = 100); r CURSORUPDATE%ROWTYPE; VSALARY NUMBER(8,2) :=0; CONT INT := 0; BEGIN OPEN CURSORUPDATE; LOOP FETCH CURSORUPDATE INTO r; EXIT WHEN CURSORUPDATE%NOTFOUND; VSALARY := r.SALARY; IF (r.DEPARTMENT_ID = 50) THEN VSALARY := 500000; END IF; IF (r.DEPARTMENT_ID = 60) THEN VSALARY := 600000; END IF; IF (r.DEPARTMENT_ID = 100) THEN VSALARY := 700000; END IF; INSERT INTO EMPLOYEESUPDATE (EMPLOYEE_ID,FIRST_NAME,SALARY,DEPARTMENT_ID ,DEPARTMENT_NAME) VALUES ( r.EMPLOYEE_ID, r.FIRST_NAME, VSALARY, r.DEPARTMENT_ID, r.DEPARTMENT_NAME); COMMIT; dbms_output.put_line('SE HA INSERTADO EL EMPLEADO NUMERO' r.EMPLOYE E_ID); CONT := CONT+1; END LOOP; dbms_output.put_line('EL NUMERO DE REGISTROS INGRESADOS ES ' CLOSE CURSORUPDATE; CONT);

END; /

You might also like