Oracle - NOVATO EN APUROS con una función!

 
Vista:

NOVATO EN APUROS con una función!

Publicado por BLUEDREAM (1 intervención) el 18/11/2005 09:43:29
Hola a todos!

Hace un més aproximadamente que me embarqué en un curso online de gestión y administración de bases de datos con ORACLE. Hasta el dia de hoy me ha ido bien/regular, con ello quiero decir que las lecciones y los ejercicios los he superado con suficiente exito.

Mi gran problema ha llegado con el ejercicio del desarrollo de una función (ya ni os comento como me ha ido con el :(( PL/SQL! ). No sé por donde empezar, ya que la teoria ha sido muy escueta y en los manuales ofrecidos por la academia, no comentan nada sobre el problema que sugieren en el ejercicio.

Me encuentro un poco desmotivado a la vez que frustrado, ya que aunque tenemos un tutor para plantearle las dudas, éste se encuentra con un cupo de 200 alumnos y sus respuestas me han llegado a tardar hasta 8 dias!. A todo ello, hay que añadirle la presión de que el curso se acaba de aqui a un més exactamente y todavia, no he acabado el primer de los tres módulos que tiene. No quiero tirar la toalla o abandonar, tan solo necesito un poco de ayuda y que alguien me oriente por el sendero correcto.

Tal como os comentaba, no sé como empezar dicho ejercicio, es que ni idea!, (llevo ya invertidas 4 horas en el dichoso ejercicio y todo son errores!). os dejo el planteamiento para que os lo podais mirar:

Tema 9 – Funciones, procedimientos, paquetes y disparadores

Usando la herramienta SQLPLUS, dar la solución a las siguientes cuestiones
que han surgido en la empresa para la que trabajamos como administradores
de la base de datos de EMPLEADOS y DEPARTAMENTOS.

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. Asegúrese de
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:

1
SALARIO ANUAL = (SALARIO * 12)+COMISION

Usaremos la sentencia SELECT siguiente contra la tabla EMPLEADOS:

1
2
SELECT nombre, codigo, SALARIO_ANUAL(salario, comision)
“Compensación Anual” FROM empleados;

------------------------------------------------------------------------------------------------------------------------

(Vuelvo a ser yo!) Mientras que con:

1
SELECT nombre, codigo, SALARIO_ANUAL(salario, comision)
“Compensación Anual” FROM empleados;

...no tengo ningun problema, con:

1
SALARIO ANUAL = (SALARIO * 12)+COMISION

... no sé como hacerlo ni donde meterlo.

Personalmente me gustaria ver la función desarrollada y poder mirarmela con detenimiento hasta entender su desarrollo y proicedimiento, aunque aceptaré de buen grado cualquier sugerencia o proposito que me ayude a darle solución en el mínimo tiempo posible.

Agradecer de antemano el tiempo que os habeis tomado para leer esta parrafada y en especial a aquellos, que decidan hecharme un mano.

Gracia a todos.

Saludos

Pep
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:NOVATO EN APUROS con una función!

Publicado por Julio Alberto (23 intervenciones) el 21/11/2005 15:09:04
create or replace function salarioAnual(salario_mensual number(10,2),comision number(10,2)) as return number(10,2)
declare
var number(10,2);
begin
begin
var:=(salario_mensual*12)+comision;
exception
when no_data_....
dbms_output_line_....('no se ha encontrado el dato');
end;
return var;
end;

*****en la consola de sql

declare
variable number(10,2);
begin
variable:=salario(&,ingrese_mensual,&ingrese_comision);
end;

******como te lo hice rapido y tu tienes la consola te daras cuenta de los errrores y los podras corregir no es muy dificil,,,,,,,,pero esta funcion si funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar