Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

funciones Oracle

Estas en el tema de funciones Oracle en el foro de Oracle en Foros del Web. hola como haria para hacer corre estas dos funciones 1-CREATE OR REPLACE FUNCTION TOTALEMPLEADOS RETURN NUMBER IS v_empleados_total number(4); BEGIN select count(*) into v_empleados_total from ...
  #1 (permalink)  
Antiguo 05/06/2006, 16:28
 
Fecha de Ingreso: diciembre-2004
Mensajes: 156
Antigüedad: 19 años, 11 meses
Puntos: 0
funciones Oracle

hola como haria para hacer corre estas dos funciones

1-CREATE OR REPLACE FUNCTION TOTALEMPLEADOS RETURN NUMBER
IS
v_empleados_total number(4);
BEGIN
select count(*) into v_empleados_total from empleados where id_sucursal=1;
RETURN v_empleados_total;
END TOTALEMPLEADOS;
/

y esta otra

2-CREATE OR REPLACE FUNCTION empleados_gerencia(p_postu varchar2) RETURN NUMBER IS

v_canti number(3);

BEGIN

v_canti:=0;

select count(*) into v_canti from empleados E, departamentos D
where E.ID_DEPARTAMENTO=D.ID_DEPARTAMENTO
and d.id_gerencia = (select id_gerencia from departamentos d1 , empleados e1
where e1.id_empleado= p_postu and e1.id_departamento=d1.id_departamento);

RETURN v_canti;
END empleados_gerencia;
/

pero en una sola
es decir que primero corra la primera y luego la segunda y ios valores de la primera las utilice en la segunda
ya que los resultados de estas son para una formaula final que se vera en php

como hago con cursores????es mejor????????

gracias
  #2 (permalink)  
Antiguo 06/06/2006, 08:16
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 7 meses
Puntos: 3
Hola arameo2010:
Bueno, puedes hacerlo de dos formas. Puedes hacer los dos cálculos en una sola función, primero el primer count, y luego el valor de tal lo usas en la siguiente parte.
Si no es posible esto, entonces, desde una función puedes llamar a la otra función, declaras una variable del mismo tipo del valor de retorno de la función llamada, y esa variable lo usas en la función que estas llamando, me dejo entender?

Cita:
1-CREATE OR REPLACE FUNCTION TOTALEMPLEADOS RETURN NUMBER
IS
v_empleados_total number(4);
BEGIN
select count(*) into v_empleados_total from empleados where id_sucursal=1;
RETURN v_empleados_total;
END TOTALEMPLEADOS;
/

y esta otra

2-CREATE OR REPLACE FUNCTION empleados_gerencia(p_postu varchar2) RETURN NUMBER IS

v_canti number(3);
v_variable number(4);

BEGIN

v_canti:=0;

v_variable=TOTALEMPLEADOS(); --Aqui obtienes el valor que deseas

select count(*) into v_canti from empleados E, departamentos D
where E.ID_DEPARTAMENTO=D.ID_DEPARTAMENTO
and d.id_gerencia = (select id_gerencia from departamentos d1 , empleados e1
where e1.id_empleado= p_postu and e1.id_departamento=d1.id_departamento);

RETURN v_canti;
END empleados_gerencia;
/
Espero que te ayude en algo.
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #3 (permalink)  
Antiguo 06/06/2006, 13:56
 
Fecha de Ingreso: diciembre-2004
Mensajes: 156
Antigüedad: 19 años, 11 meses
Puntos: 0
NADA!!! lo que pasa es que todo sale para una formula!!! es decir, todos estos datos que sale de cada funcion van a dicha formula, es decir, todo esto lo tengo en codigo php pero lo quiero hacer en oracle, me dijeronq ue plsql,
1-todos los postulados:esto sale con el siguiente query:
select * from postulaciones where id_edicion=1 ya tengo el primer!!!
ahora!!!
2- de lo anterior debo obtener la cantidad de empleados que existan en la gerencia cada postulado!!!!
3-fianlemnte la cantidad de empleados de toda la corporacion
4-tood eso va a una formula!!!

si sabes como ha erlo hermano seria de gran ayuda!!!
gracias soy algonovato en esto!!
  #4 (permalink)  
Antiguo 06/06/2006, 14:18
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 7 meses
Puntos: 3
Cita:
Iniciado por arameo2010
1-todos los postulados:esto sale con el siguiente query:
select * from postulaciones where id_edicion=1 ya tengo el primer!!!
ahora!!!
2- de lo anterior debo obtener la cantidad de empleados que existan en la gerencia cada postulado!!!!
3-fianlemnte la cantidad de empleados de toda la corporacion
4-tood eso va a una formula!!!

si sabes como ha erlo hermano seria de gran ayuda!!!
gracias soy algonovato en esto!!
Que tal, sabes?, del punto 1 al punto 2 no lo entiendo mucho. Te he mandado un M.P.
En el punto 1 estas tomando todos los postulados (un postulado es un alumno?, un curso? una carrera? un área?)
Imagino que de cada postulado quieres saber cuantos empleados trabajan? (punto 2) Es algo asi???

El punto 3 esta claro.
Espero tu respuesta...
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:58.