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

Devolver una select de un procedure

Estas en el tema de Devolver una select de un procedure en el foro de Oracle en Foros del Web. Holaaa !!! Tengo problemas cuando tengo que devolver una select ejecutando un stored procedure !!! Por ejemplo: mi procedure con ORACLE es el siguiente: create ...
  #1 (permalink)  
Antiguo 03/06/2006, 18:04
 
Fecha de Ingreso: junio-2006
Mensajes: 3
Antigüedad: 17 años, 10 meses
Puntos: 0
Devolver una select de un procedure

Holaaa !!! Tengo problemas cuando tengo que devolver una select ejecutando un stored procedure !!! Por ejemplo: mi procedure con ORACLE es el siguiente:

create procedure ss

as

begin
select max(idcliente) from tbl_clientes;
end;


Alguna idea ??? Merci !!!!
  #2 (permalink)  
Antiguo 04/06/2006, 11:44
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
saureti, que tal:
Al crear tu procedure, debes hacerlo de tal manera que te devuelva un valor

create procedure ss
(valor OUT NUMBER)

as

begin
select max(idcliente) INTO valor from tbl_clientes;
end;

Cuando se realiza un procedimiento, se pueden declarar variables de entrada IN, salida OUT, o ambas IN OUT...
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #3 (permalink)  
Antiguo 05/06/2006, 07:18
 
Fecha de Ingreso: junio-2006
Mensajes: 3
Antigüedad: 17 años, 10 meses
Puntos: 0
Noooooo

wenas !!!! el problema es que tambien lo e echo asi pero no me funciona !!!! lo e echo con parametrso de salida !!!! Y e leido kse tiene que hacer algo de cursores pero... :S
  #4 (permalink)  
Antiguo 05/06/2006, 08:06
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Hola saureti:
Se usan cursores cuando quieres recorrer una consulta con más de un resultado. En el caso que tu das, el select solo devuelve un valor, y en ese caso no seria necesario un cursor.
Ahora seria bueno saber como llamas al procedure, mediante otro procedure? por programación?....
Puede que en vez de que uses un procedure, solo uses una función.
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #5 (permalink)  
Antiguo 06/06/2006, 05:30
 
Fecha de Ingreso: junio-2006
Mensajes: 3
Antigüedad: 17 años, 10 meses
Puntos: 0
Cita:
Iniciado por PequeñoMauro
Hola saureti:
Se usan cursores cuando quieres recorrer una consulta con más de un resultado. En el caso que tu das, el select solo devuelve un valor, y en ese caso no seria necesario un cursor.
Ahora seria bueno saber como llamas al procedure, mediante otro procedure? por programación?....
Puede que en vez de que uses un procedure, solo uses una función.
Saludos

Wenas !!! Mira yo quiero llamar a un procedure des del visual 2005 para que me devuelva un valor i poderlo enseñar en un textbox...

Luego tambien me interesaria devolver una select con diferentes valores (una tabla) a traves tambien de un procedure.
Ej: select nombre_productos from tb_productos;

Merci!!!!
  #6 (permalink)  
Antiguo 06/06/2006, 08:07
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Cita:
Iniciado por saureti
Wenas !!! Mira yo quiero llamar a un procedure des del visual 2005 para que me devuelva un valor i poderlo enseñar en un textbox...
Hola, bueno, disculpa, pero no entiendo por que un procedure para devolver un valor. Si es algo similar a lo que haz puesto, puedes hacerlo con una función, o hasta con un select. Lo que hace el procedure es complejo?
Ahora, de la forma como te lo puse lineas arriba, al llamar al procedure, el valor de salida (OUT), deberia tener el valor, quizás sea error de programación o algo respecto a la consulta.....
Saludos, puedes mandar un MP o por aqui, por cualquier consulta....
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #7 (permalink)  
Antiguo 21/09/2010, 09:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Devolver una select de un procedure

Al crear tu procedure, debes hacerlo de tal manera que te devuelva un valor, como este ejemplo usando tu procedure

create procedure ss
(valor OUT NUMBER)

as

begin
open valor for
select max(idcliente) INTO valor from tbl_clientes;
end;
  #8 (permalink)  
Antiguo 22/09/2010, 09:34
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Respuesta: Devolver una select de un procedure

Cita:
Iniciado por PequeñoMauro Ver Mensaje
Hola, bueno, disculpa, pero no entiendo por que un procedure para devolver un valor. Si es algo similar a lo que haz puesto, puedes hacerlo con una función, o hasta con un select. Lo que hace el procedure es complejo?
Ahora, de la forma como te lo puse lineas arriba, al llamar al procedure, el valor de salida (OUT), deberia tener el valor, quizás sea error de programación o algo respecto a la consulta.....
Saludos, puedes mandar un MP o por aqui, por cualquier consulta....
Un procedure, aunque no tiene porqué, si que es recomendable que devuelva algo.

Se puede usar para aplicar una lógica de negocio, una serie de validaciones, procesos de carga , etc etc etc, y te tiene que devuelver algo para que tu sepas que tal ha ido el procedure, si ha terminado correctamente, si ha habido algún error, que tipo de error, etc etc etc.

Si tu tienes un procedure en el que has metido una logica de negocio, por ejemplo, contratación de TV por cable y no te retorna nada, ¿ como sabes que esa contratación se ha hecho correctamente ?, ¿ con el sql plus y una excel con sus formulas ?
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




La zona horaria es GMT -6. Ahora son las 04:36.