Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/05/2008, 08:37
Avatar de jmfp26
jmfp26
 
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