19/05/2008, 08:37
|
| | | Fecha de Ingreso: diciembre-2003
Mensajes: 162
Antigüedad: 21 años Puntos: 2 | |
Respuesta: Funcion que me devuelva el Salario Anual Hola,
Gracias por responder.
Creo que lo que he hecho no va bien, podrías ayudarme.
Lo que quiero es lo siguiente:
Crear una función almacenada SALARIO_ANUAL para devolver el salario anual cuando se pasa el salario mensual y la comisión de un empleado. Hay que controlar que la función controla valores NULL.
Crear y llamar a la función SALARIO_ANUAL, pasando los valores del salario mensual y de la comisión. La función debería devolver el salario anual definido por:
SALARIO ANUAL = (SALARIO * 12)+COMISION
Usaremos la sentencia SELECT siguiente contra la tabla EMPLEADOS:
SELECT nombre, codigo, SALARIO_ANUAL(salario, comision) “Compensación Anual” FROM empleados;
Esto es lo que he diseñado gracias a tus consejos:
CREATE FUNCTION SALARIO_ANUAL (cod_emple IN NUMBER)
RETURN NUMBER
as
SALARIO_TOTAL NUMBER(7,2);
begin
SELECT ((salario*12)+comision) "Compensación Anual" into SALARIO_TOTAL FROM EMPLEADOS WHERE
codigo = cod_emple;
RETURN (SALARIO_TOTAL);
END;
Esto es lo que debería hacer si el salario fuera 0. (null).
IF salario IS NULL THEN
SALARIO_TOTAL:= comision;
ELSE
IF comision IS NULL THEN
SALARIO_TOTAL := salario*12;
ELSE
SALARIO_TOTAL := (salario*12)+comision;
END IF;
Gracias
Un Saludo
Última edición por jmfp26; 19/05/2008 a las 08:42 |