Hola, muy buenas a todos, este es mi primer post y necesito ayuda con un ejercicio de PL, el enunciado es el siguiente:
Diseñar el procedimiento AUMENTO_SALARIO, que reciba un número de departamento y un porcentaje, realice el incremento de los salarios de los empleados de ese departamento en el porcentaje dado. Si no se especifica porcentaje, se supondrá del 0,5%.
La primera parte lo hice y funciona pero la ultima que, supongo yo, debo sobreescribir el metodo para cuando no se reciba porcentaje es cuando me da problemas, aqui va el código:
CREATE OR REPLACE PROCEDURE AUMENTO_SALARIO(
var_numde IN temple.numde%type,
porcentaje IN OUT NUMBER)
IS
CURSOR empleado
IS
SELECT numde,salar FROM temple FOR UPDATE OF salar;
registro empleado%rowtype;
BEGIN
OPEN empleado;
LOOP
FETCH empleado INTO registro;
IF registro.numde=var_numde THEN
UPDATE temple SET salar= salar*(1+(porcentaje/100)) WHERE CURRENT OF empleado;
END IF;
EXIT
WHEN empleado%notfound;
END LOOP;
CLOSE empleado;
end AUMENTO_SALARIO;
CREATE OR REPLACE PROCEDURE AUMENTO_SALARIO(
var_numde IN temple.numde%type
)
IS
CURSOR empleado
IS
SELECT numde,salar FROM temple FOR UPDATE OF salar;
registro empleado%rowtype;
BEGIN
OPEN empleado;
LOOP
FETCH empleado INTO registro;
IF registro.numde=var_numde THEN
UPDATE temple SET salar= salar*1.005 WHERE CURRENT OF empleado;
END IF;
EXIT
WHEN empleado%notfound;
END LOOP;
CLOSE empleado;
end AUMENTO_SALARIO;
Agradecería toda la ayuda posible.
Saludos