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

Retornar varias datos de un store procedure

Estas en el tema de Retornar varias datos de un store procedure en el foro de Mysql en Foros del Web. Hola..., si quizás ya se trató este tema, disculpas. Busqué pero no encontré puntualmente. Cómo puedo retornar múltiples datos de un procedimiento?. Quizás tenga que ...
  #1 (permalink)  
Antiguo 01/12/2010, 10:08
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Retornar varias datos de un store procedure

Hola..., si quizás ya se trató este tema, disculpas. Busqué pero no encontré puntualmente.

Cómo puedo retornar múltiples datos de un procedimiento?. Quizás tenga que nombrar cada variable que va a contener la info como OUT, pero si necesito retornar 8 datos, debo crear 8 variables OUT? Si es un select como comodín (*) el que debo retornar, cómo podría hacerlo?

Algo así??

Código SQL:
Ver original
  1. #código previo del stored PROCEDURE
  2. #create PROCEDURE...
  3. #begin...
  4. #insert INTO personas....
  5.  
  6. SELECT nombre INTO var1, apellido INTO var2, email INTO var3, password INTO var4 FROM personas WHERE id_persona=5;

Pero vuelvo al punto del comodín, como se leería?

Gracias!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #2 (permalink)  
Antiguo 01/12/2010, 10:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Retornar varias datos de un store procedure

Cita:
pero si necesito retornar 8 datos, debo crear 8 variables OUT?
Tienes que devolver tantos parámetros como estés pidiendo. Si tuvieses que deveolver 45 datos, pues serían 45 OUT...
Cita:
Pero vuelvo al punto del comodín, como se leería?
Si la última sentencia del SP es un SELECT, el SP devuelve una tabla. El cómo manejas esa tabla dependerá del lenguaje con que estés programandio.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 01/12/2010, 11:10
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Retornar varias datos de un store procedure

Gracias por tus respuestas gnzsoloyo.

"Si la última sentencia del SP es un SELECT, el SP devuelve una tabla. El cómo manejas esa tabla dependerá del lenguaje con que estés programandio."

Es una regla general? devuelve una tabla si es un select la última sentencia? Cómo leo esa tabla? Con un simple fetch_array si fuera php?

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 01/12/2010, 11:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Retornar varias datos de un store procedure

Como te dije: El cómo leas la tabla depende del lenguaje. Yo haibualmente trabajo en VB.Net, donde simplemente uso un DataAdapter para leer la tabla como si el SP fuese una sentencia SELECT común.
Pero en PHP la cosa se complica, porque la tabla no proviene de un SELECT, sino de un CALL procedimiento, por lo que si usas mysql_query() puedes tener problemas para acceder a la tabla. Te conviene usar la clase mysqli, que es mucho más eficiente para eso.

El uso de misqli lo debes consultar en el Foros de PHP
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 01/12/2010 a las 11:37
  #5 (permalink)  
Antiguo 03/12/2010, 10:22
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Retornar varias datos de un store procedure

Bueno en cuanto a lo de php lo sé manejar :)

Lo otro lo ando entendiendo...

Gracias por tu ayuda
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com

Etiquetas: procedure, store
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 03:48.