Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Realizar un procedimiento que incremente el salario el 20% a los empleados que
- tengan una comisión igual al 25% (campo commision_pct) del salario, y visualice
- el nombre, comisión y salario antiguo, y el nombre, comisión y salario nuevo
- de todos los empleados modificados. (3 puntos)
- */
- create or replace PROCEDURE EJER1
- AS
- -- CREAR CURSOR
- CURSOR cur IS SELECT first_name, commission_pct, salary
- FROM employees
- WHERE commission_pct = 0.25
- FOR UPDATE;
- -- ALMACENAR CURSOR
- v_cur cur%rowtype;
- BEGIN
- FOR employee IN cur LOOP
- DBMS_OUTPUT.PUT_LINE('-----------------');
- DBMS_OUTPUT.PUT_LINE('Datos previos:');
- DBMS_OUTPUT.PUT_LINE('Nombre: '||
- employee.first_name||
- ' Comisión: '||
- employee.commission_pct||
- ' Salario: '||
- employee.salary);
- UPDATE employees SET salary = salary*1.2 WHERE CURRENT OF cur;
- DBMS_OUTPUT.PUT_LINE('-----------------');
- DBMS_OUTPUT.PUT_LINE('Datos actualizados:');
- DBMS_OUTPUT.PUT_LINE('Nombre: '||
- employee.first_name||
- ' Comisión: '||
- employee.commission_pct||
- ' Salario: '||
- employee.salary);
- END LOOP;
- END EJER1;
- ------------------------------------------------------------------------------------------
- SET SERVEROUTPUT ON
- BEGIN
- EJER1();
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement