Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Práctica adicional:
- -- Usando este código
- -- Si el salario es mayor que 12000 indicarlo y mostrar la información del empleado y su salario
- -- y si no lo es, indicar que ese código de empleado gana menos de 12000
- DROP TABLE emp purge;
- CREATE TABLE emp AS SELECT * FROM employees;
- DELETE FROM emp WHERE employee_id = 123;
- DECLARE
- v_min_eid emp.employee_id%TYPE;
- v_max_eid emp.employee_id%TYPE;
- v_contador PLS_INTEGER;
- v_first_name emp.first_name%TYPE;
- v_salary emp.salary%TYPE;
- v_contar_empleados PLS_INTEGER;
- BEGIN
- SELECT MIN(employee_id), MAX(employee_id)
- INTO v_min_eid, v_max_eid
- FROM emp;
- v_contador := v_min_eid;
- LOOP
- SELECT COUNT(*)
- INTO v_contar_empleados
- FROM emp
- WHERE employee_id = v_contador;
- IF v_contar_empleados = 1 THEN
- SELECT first_name, salary
- INTO v_first_name, v_salary
- FROM emp
- WHERE employee_id = v_contador;
- IF v_salary > 12000 THEN
- DBMS_OUTPUT.put_line('El empleado ' || v_contador || ' - Nombre: ' || v_first_name || ' gana más de 12000: ' || v_salary);
- ELSE
- DBMS_OUTPUT.put_line('El empleado ' || v_contador || ' - Nombre: ' || v_first_name || ' no gana más de 12000: ' || v_salary);
- END IF;
- ELSE
- DBMS_OUTPUT.put_line('El código ' || v_contador || ' no corresponde a ningún empleado o a más de uno');
- END IF;
- v_contador := v_contador + 1;
- EXIT WHEN v_contador > v_max_eid;
- END LOOP;
- END;
- /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement