Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. CREATE OR REPLACE PACKAGE pkg_taller4 IS
  2. PROCEDURE proc_add_emp (rut VARCHAR2, nombre VARCHAR2, salario integer, rut_jefe VARCHAR2,
  3.  
  4. cod_depto VARCHAR2);
  5. PROCEDURE proc_add_dept (codigo VARCHAR2, nombre VARCHAR2);
  6. PROCEDURE inc_sal_dept (cod_depto VARCHAR2, porcentaje FLOAT);
  7. PROCEDURE edit_sal (rut_emp VARCHAR2, monto integer);
  8. PROCEDURE delete_emp (rut_emp VARCHAR2);
  9. PROCEDURE delete_dept (cod_depto VARCHAR2);
  10. PROCEDURE cambiar_emp (rut_emp VARCHAR, cod_depto VARCHAR);
  11. FUNCTION display_sal_emp (rut_emp VARCHAR2) RETURN integer;
  12. FUNCTION display_sal_all (cod_depto VARCHAR2) RETURN integer;
  13. PROCEDURE cambiar_jefe (rut_jefe_old VARCHAR2, rut_jefe VARCHAR2);
  14.  
  15. END pkg_taller4;
  16.  
  17. CREATE OR REPLACE PACKAGE BODY pkg_taller4 IS
  18.  
  19. --PROCEDURE ADD EMP TO EMPLEADO TABLE
  20. PROCEDURE proc_add_emp (rut VARCHAR2, nombre VARCHAR2, salario integer, rut_jefe VARCHAR2,
  21.  
  22. cod_depto VARCHAR2) IS
  23. BEGIN
  24. INSERT INTO Empleado (rut, nombre, salario, rutJefe, codDepto) VALUES (rut, nombre,
  25.  
  26. salario, rut_jefe, cod_depto);
  27. END;
  28. --PROCEDURE ADD DEPT TO DEPARTAMENTO TABLE
  29. PROCEDURE proc_add_dept(codigo VARCHAR2, nombre VARCHAR2) IS
  30. BEGIN
  31. INSERT INTO Departamento(codigo, nombre) VALUES (codigo, nombre);
  32. END;
  33. --PROCEDURE INCREMENTAR %SALARIO
  34. PROCEDURE inc_sal_dept (cod_depto VARCHAR2, porcentaje FLOAT) IS
  35. CURSOR cursor_emp IS
  36. SELECT rut,
  37. salario
  38. FROM Empleado
  39. WHERE codDepto = cod_depto
  40. FOR UPDATE;
  41. BEGIN
  42. FOR emp_dat IN cursor_emp LOOP
  43. UPDATE Empleado
  44. SET salario = salario + salario * porcentaje / 100
  45. WHERE CURRENT OF cursor_emp;
  46. END LOOP;
  47. END;
  48. --PROCEDURE EDIT SAL EMP
  49. PROCEDURE edit_sal (rut_emp VARCHAR2, monto integer) IS
  50. BEGIN
  51. UPDATE Empleado
  52. SET salario = monto
  53. WHERE rut = rut_emp;
  54. END;
  55. --PROCEDURE DELETE EMP FROM EMPLEADO
  56. PROCEDURE delete_emp (rut_emp VARCHAR2) IS
  57. BEGIN
  58. DELETE FROM Empleado WHERE rut = rut_emp;
  59. END;
  60. --PROCEDURE DELETE DEPT FROM DEPARTAMENTO
  61. PROCEDURE delete_dept (cod_depto VARCHAR2) IS
  62. BEGIN
  63. DELETE FROM Departamento WHERE codigo = cod_depto;
  64. END;
  65. --PROCEDURE CHANGE DEPT FROM EMP
  66. PROCEDURE cambiar_emp (rut_emp VARCHAR, cod_depto VARCHAR) IS
  67. BEGIN
  68. UPDATE Empleado
  69. SET codDepto = cod_depto
  70. WHERE rut = rut_emp;
  71. END;
  72. --FUNCTION RETURN SAL FROM EMP
  73. FUNCTION display_sal_emp (rut_emp VARCHAR2) RETURN integer IS
  74. saldo PLS_INTEGER;
  75. BEGIN
  76. SELECT saldo INTO saldo
  77. FROM Empleado
  78. WHERE rut = rut_emp;
  79. return saldo;
  80. END display_sal_emp;
  81. --FUNCTION RETURN SAL FROM DEPT
  82. FUNCTION display_sal_all (cod_depto VARCHAR2) RETURN integer IS
  83. saldo PLS_INTEGER;
  84. BEGIN
  85. SELECT SUM salario
  86. FROM Empleado
  87. WHERE codDepto = cod_depto;
  88. END display_sal_all;
  89. --PROCEDURE CAMBIAR JEFE
  90. PROCEDURE cambiar_jefe (rut_jefe_old VARCHAR2, rut_jefe VARCHAR2) IS
  91. BEGIN
  92. UPDATE EMPLEADO
  93. SET rutJefe = rut_jefe
  94. WHERE rutJefe = rut_jefe_old;
  95. END;
  96. END pkg_taller4;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement