CREATE OR REPLACE PROCEDURE RESTA(P_NUMERO EMPLOYEES.EMPLOYEE_ID%TYPE) IS NOMBRE EMPLOYEES.LAST_NAME%TYPE; BEGIN SELECT LAST_NAME INTO NOMBRE FROM EMPLOYEES WHERE EMPLOYEE_ID=P_NUMERO; DBMS_OUTPUT.PUT_LINE(NOMBRE); END; BEGIN RESTA(100); END; 2.CONSULTAR EL NOMBRE DE UN DEPARTAMENTO CREATE OR REPLACE PROCEDURE RESTA(P_NUMERO DEPARTMENTS.DEPARTMENT_ID%TYPE) IS NOMBRE DEPARTMENTS.DEPARTMENT_NAME%TYPE; BEGIN SELECT DEPARTMENT_NAME INTO NOMBRE FROM DEPARTMENTS WHERE DEPARTMENT_ID=P_NUMERO ; DBMS_OUTPUT.PUT_LINE(NOMBRE); END; BEGIN RESTA(100); END; 3.MAYOR DE TRES NUMEROS CREATE OR REPLACE PROCEDURE RESTA(NUM1 NUMBER,NUM2 NUMBER, NUM3 NUMBER) IS MAYOR NUMBER:=NUM1; BEGIN IF(NUM2>MAYOR)THEN MAYOR:= NUM2; END IF; IF(NUM3>MAYOR)THEN MAYOR:= NUM3; END IF; DBMS_OUTPUT.PUT_LINE('EL NUMERO MAYOR:'||MAYOR); END; BEGIN RESTA(10,16,14); END; 4. CLASIFICACION DE SALARIO DE UN EMPLEADO CREATE OR REPLACE PROCEDURE RESTA(P_NUMERO EMPLOYEES.EMPLOYEE_ID%TYPE) IS V_SAL EMPLOYEES.SALARY%TYPE; V_MSG VARCHAR2(30); BEGIN SELECT SALARY INTO V_SAL FROM EMPLOYEES WHERE EMPLOYEE_ID=P_NUMERO; IF(V_SAL<2500)THEN V_MSG:='BAJO'; ELSIF(V_SAL<4000)THEN V_MSG:='REGULAR'; ELSE V_MSG:='BUENO'; END IF; DBMS_OUTPUT.PUT_LINE('EL SALARIO:'||V_MSG); END; BEGIN RESTA(125); END; 5.crear un procedimiento almacenado k al ingresar un codigo de el empleado muest re el salario de ese empleado y un mensaje si su salario es bajo regular o bueno salario Salario Estado <2500 Bajo <4000 Regular otros bueno CREATE OR REPLACE PROCEDURE RESTA(P_NUMERO EMPLOYEES.EMPLOYEE_ID%TYPE) IS V_SAL EMPLOYEES.SALARY%TYPE; V_NOM VARCHAR2(20); V_MSG VARCHAR2(30); BEGIN SELECT LAST_NAME,SALARY INTO V_NOM,V_SAL FROM EMPLOYEES WHERE EMPLOYEE_ID=P_NUME RO; IF(V_SAL<2500)THEN V_MSG:='BAJO'; ELSIF(V_SAL<4000)THEN V_MSG:='REGULAR'; ELSE V_MSG:='BUENO'; END IF; DBMS_OUTPUT.PUT_LINE('EL EMPLEADO: ' || V_NOM ||' SALARIO:'|| V_SAL ||' MENSAJE: '|| V_MSG); END; BEGIN RESTA(100); END; consultar el nombre y salario de un empleado create or replace procedure resta(cod employees.employee_id%type) is type reg is record( nom employees.last_name%type, sal employees.salary%type); r reg; begin select last_name, salary into r from employees where employee_id=cod; dbms_output.put_line('nombre: '||r.nom); dbms_output.put_line('salario: '|| r.sal); end; begin resta(100); end; ---------------------------------------------------------- %RowType: se utilzia para declarar registros con la misma estructura de una tabl a CONSULTAR DATOS DE UN DEPARTAMENTO create or replace procedure resta(cod employees.employee_id%type) is r departments%rowtype; begin select * into r from departments where department_id=cod; dbms_output.put_line('codigo:'||r.department_id); dbms_output.put_line('nombre:'||r.department_name); dbms_output.put_line('localizacion: '||r.location_id); end; //EJECUCION begin resta(100); end; 11.4 consultar la cantidad de empleados y el importe de planilla de un departame nto. create or replace procedure resta(cod employees.employee_id%type) is ncant number; planilla number; begin select count(*),sum(salary)into ncant, planilla from employees where department_id=cod; dbms_output.put_line('empleados:'||ncant); dbms_output.put_line('planilla:'||planilla); end; begin resta(100); end;