Está en la página 1de 2

--Obtener el salario de un empleado espec�fico y clasificarlo como categor�a a-b-c

--Usaremos variables de tipo de dato escalar

DECLARE
V_NOMBRE VARCHAR2(20);
V_APELLIDOS VARCHAR2(25);
V_SALARIO NUMBER(22,0);
V_CATEGORIA CHAR(1);
BEGIN
SELECT FIRST_NAME,LAST_NAME, SALARY INTO V_NOMBRE,V_APELLIDOS,V_SALARIO FROM
EMPLOYEES WHERE EMPLOYEE_ID=100;
V_CATEGORIA:= CASE
WHEN V_SALARIO BETWEEN 0 AND 4999 THEN 'A'
WHEN V_SALARIO BETWEEN 5000 AND 10000 THEN 'B'
WHEN V_SALARIO >10000 THEN 'C'
END;
DBMS_OUTPUT.PUT_LINE ('LA CATEGORIA DE: ' || V_NOMBRE || ' ' || V_APELLIDOS ||
' ES: ' || V_CATEGORIA);
END;

--OBTENER EL SALARIO,NOMBRE Y APELLIDO DE UN EMPLEADO ESPEC�FICO Y CLASIFICARLO


COMO CATEGORIA A(<5000)-B(5000-10000)-C(>10000)
--USAREMOS VARIABLES DECLARADAS CON EL ATRIBUTO TYPE

DECLARE
V_NOMBRE EMPLOYEES.FIRST_NAME%TYPE;
V_APELLIDOS EMPLOYEES.LAST_NAME%TYPE;
V_SALARIO EMPLOYEES.SALARY%TYPE;
V_CATEGORIA CHAR(1);
BEGIN
SELECT FIRST_NAME,LAST_NAME, SALARY INTO V_NOMBRE,V_APELLIDOS,V_SALARIO FROM
EMPLOYEES WHERE EMPLOYEE_ID=100;
V_CATEGORIA:= CASE
WHEN V_SALARIO BETWEEN 0 AND 4999 THEN 'A'
WHEN V_SALARIO BETWEEN 5000 AND 10000 THEN 'B'
WHEN V_SALARIO >10000 THEN 'C'
END;
DBMS_OUTPUT.PUT_LINE ('LA CATEGORIA DE: ' || V_NOMBRE || ' ' || V_APELLIDOS ||
' ES: ' || V_CATEGORIA);
END;

--OBTENER EL SALARIO,NOMBRE Y APELLIDO DE UN EMPLEADO ESPEC�FICO Y CLASIFICARLO


COMO CATEGORIA A(<5000)-B(5000-10000)-C(>10000)
--USAREMOS VARIABLES DECLARADAS CON TIPO DE DATO REGISTRO CREADO POR EL USUARIO

DECLARE
TYPE V_REGISTRO IS RECORD (
V_NOM EMPLOYEES.FIRST_NAME%TYPE,
V_APE EMPLOYEES.LAST_NAME%TYPE,
V_SAL EMPLOYEES.SALARY%TYPE
);
R_EMPLEADO V_REGISTRO;
V_CATEGORIA CHAR(1);
BEGIN
SELECT FIRST_NAME,LAST_NAME, SALARY INTO R_EMPLEADO FROM EMPLOYEES WHERE
EMPLOYEE_ID=100;
V_CATEGORIA:= CASE
WHEN R_EMPLEADO.V_SAL BETWEEN 0 AND 4999 THEN 'A'
WHEN R_EMPLEADO.V_SAL BETWEEN 5000 AND 10000 THEN 'B'
WHEN R_EMPLEADO.V_SAL >10000 THEN 'C'
END;
DBMS_OUTPUT.PUT_LINE ('LA CATEGORIA DE: ' || R_EMPLEADO.V_NOM || ' ' ||
R_EMPLEADO.V_APE || ' ES: ' || V_CATEGORIA);
END;

--OBTENER EL SALARIO,NOMBRE Y APELLIDO DE UN EMPLEADO ESPEC�FICO Y CLASIFICARLO


COMO CATEGORIA A(<5000)-B(5000-10000)-C(>10000)
--USAREMOS VARIABLES DECLARADAS CON TIPO DE DATO REGISTRO PERO CON EL ATRIBUTO
ROWTYPE

DECLARE
V_REGISTRO EMPLOYEES%ROWTYPE;
V_CATEGORIA CHAR(1);
BEGIN
SELECT * INTO V_REGISTRO FROM EMPLOYEES WHERE EMPLOYEE_ID=100;
V_CATEGORIA:= CASE
WHEN V_REGISTRO.SALARY BETWEEN 0 AND 4999 THEN 'A'
WHEN V_REGISTRO.SALARY BETWEEN 5000 AND 10000 THEN 'B'
WHEN V_REGISTRO.SALARY >10000 THEN 'C'
END;
DBMS_OUTPUT.PUT_LINE ('LA CATEGORIA DE: ' || V_REGISTRO.FIRST_NAME || ' ' ||
V_REGISTRO.LAST_NAME || ' ES: ' || V_CATEGORIA);
END;

También podría gustarte