Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE PACKAGE pkg_taller4 IS
- PROCEDURE proc_add_emp (rut VARCHAR2, nombre VARCHAR2, salario integer, rut_jefe VARCHAR2,
- cod_depto VARCHAR2);
- PROCEDURE proc_add_dept (codigo VARCHAR2, nombre VARCHAR2);
- PROCEDURE inc_sal_dept (cod_depto VARCHAR2, porcentaje FLOAT);
- PROCEDURE edit_sal (rut_emp VARCHAR2, monto integer);
- PROCEDURE delete_emp (rut_emp VARCHAR2);
- PROCEDURE delete_dept (cod_depto VARCHAR2);
- PROCEDURE cambiar_emp (rut_emp VARCHAR, cod_depto VARCHAR);
- FUNCTION display_sal_emp (rut_emp VARCHAR2) RETURN integer;
- FUNCTION display_sal_all (cod_depto VARCHAR2) RETURN integer;
- PROCEDURE cambiar_jefe (rut_jefe_old VARCHAR2, rut_jefe VARCHAR2);
- END pkg_taller4;
- CREATE OR REPLACE PACKAGE BODY pkg_taller4 IS
- --PROCEDURE ADD EMP TO EMPLEADO TABLE
- PROCEDURE proc_add_emp (rut VARCHAR2, nombre VARCHAR2, salario integer, rut_jefe VARCHAR2,
- cod_depto VARCHAR2) IS
- BEGIN
- INSERT INTO Empleado (rut, nombre, salario, rutJefe, codDepto) VALUES (rut, nombre,
- salario, rut_jefe, cod_depto);
- END;
- --PROCEDURE ADD DEPT TO DEPARTAMENTO TABLE
- PROCEDURE proc_add_dept(codigo VARCHAR2, nombre VARCHAR2) IS
- BEGIN
- INSERT INTO Departamento(codigo, nombre) VALUES (codigo, nombre);
- END;
- --PROCEDURE INCREMENTAR %SALARIO
- PROCEDURE inc_sal_dept (cod_depto VARCHAR2, porcentaje FLOAT) IS
- CURSOR cursor_emp IS
- SELECT rut,
- salario
- FROM Empleado
- WHERE codDepto = cod_depto
- FOR UPDATE;
- BEGIN
- FOR emp_dat IN cursor_emp LOOP
- UPDATE Empleado
- SET salario = salario + salario * porcentaje / 100
- WHERE CURRENT OF cursor_emp;
- END LOOP;
- END;
- --PROCEDURE EDIT SAL EMP
- PROCEDURE edit_sal (rut_emp VARCHAR2, monto integer) IS
- BEGIN
- UPDATE Empleado
- SET salario = monto
- WHERE rut = rut_emp;
- END;
- --PROCEDURE DELETE EMP FROM EMPLEADO
- PROCEDURE delete_emp (rut_emp VARCHAR2) IS
- BEGIN
- DELETE FROM Empleado WHERE rut = rut_emp;
- END;
- --PROCEDURE DELETE DEPT FROM DEPARTAMENTO
- PROCEDURE delete_dept (cod_depto VARCHAR2) IS
- BEGIN
- DELETE FROM Departamento WHERE codigo = cod_depto;
- END;
- --PROCEDURE CHANGE DEPT FROM EMP
- PROCEDURE cambiar_emp (rut_emp VARCHAR, cod_depto VARCHAR) IS
- BEGIN
- UPDATE Empleado
- SET codDepto = cod_depto
- WHERE rut = rut_emp;
- END;
- --FUNCTION RETURN SAL FROM EMP
- FUNCTION display_sal_emp (rut_emp VARCHAR2) RETURN integer IS
- saldo PLS_INTEGER;
- BEGIN
- SELECT saldo INTO saldo
- FROM Empleado
- WHERE rut = rut_emp;
- return saldo;
- END display_sal_emp;
- --FUNCTION RETURN SAL FROM DEPT
- FUNCTION display_sal_all (cod_depto VARCHAR2) RETURN integer IS
- saldo PLS_INTEGER;
- BEGIN
- SELECT SUM salario
- FROM Empleado
- WHERE codDepto = cod_depto;
- END display_sal_all;
- --PROCEDURE CAMBIAR JEFE
- PROCEDURE cambiar_jefe (rut_jefe_old VARCHAR2, rut_jefe VARCHAR2) IS
- BEGIN
- UPDATE EMPLEADO
- SET rutJefe = rut_jefe
- WHERE rutJefe = rut_jefe_old;
- END;
- END pkg_taller4;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement