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

Cojer datos dentro de una stored procedure

Estas en el tema de Cojer datos dentro de una stored procedure en el foro de Mysql en Foros del Web. Hola a todos, muchas gracias de antemano por vuestra ayuda. Hace tiempo que no entro en este foro. Tengo una gran duda: quiero recoger los ...
  #1 (permalink)  
Antiguo 08/02/2012, 09:00
 
Fecha de Ingreso: febrero-2008
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Cojer datos dentro de una stored procedure

Hola a todos,

muchas gracias de antemano por vuestra ayuda. Hace tiempo que no entro en este foro.

Tengo una gran duda: quiero recoger los datos dentro de un "prepared statment" en la stored procedure para seguir añadiendo más instrucciones, y no lo consigo. Me explico: como puedo coger el valor de tablarowid ?

SET @string=concat("SELECT tablarowid as rowid FROM ",vNameTable," WHERE name = 'pepito');

PREPARE stmt FROM @string;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Y ahora quiero coger el valor de rowid para añadir más instrucciones. Lo he probado todo y no lo consigo.

Me podeis ayudar, por favor ?

Muchas gracias !!!!!
  #2 (permalink)  
Antiguo 08/02/2012, 10:47
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 13 años, 5 meses
Puntos: 42
Respuesta: Cojer datos dentro de una stored procedure

Hola yotampoco,

Un opción es como te muestro en el siguiente ejemplo http://www.sqlfiddle.com/#!2/b4f39/1

Espero te sea útil.
  #3 (permalink)  
Antiguo 09/02/2012, 14:38
 
Fecha de Ingreso: febrero-2008
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Cojer datos dentro de una stored procedure

Perfecto wchiquito !!!!!

Muchas gracias !!!!
  #4 (permalink)  
Antiguo 10/02/2012, 14:50
 
Fecha de Ingreso: febrero-2008
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Cojer datos dentro de una stored procedure

Cita:
Iniciado por wchiquito Ver Mensaje
Hola yotampoco,

Un opción es como te muestro en el siguiente ejemplo http://www.sqlfiddle.com/#!2/b4f39/1

Espero te sea útil.
Gracias, pero así el valor rowid se duevuelve para "fuera de la procedure", pero yo quiero poder "leer" el valor en la misma procedure, para seguir con la lógica, y no lo conisgo !!!!
  #5 (permalink)  
Antiguo 10/02/2012, 16:12
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 13 años, 5 meses
Puntos: 42
Respuesta: Cojer datos dentro de una stored procedure

Hola yotampoco,

No entiendo muy bien lo de "fuera de la procedure", imagino que te refieres al "select". Dentro de tu procedimiento almacenado puedes usar la variable "@rowid" sin problema, sin embargo, te recomiendo asignar la variable "@rowid" a una variable local.
  #6 (permalink)  
Antiguo 11/02/2012, 08:08
 
Fecha de Ingreso: febrero-2008
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Cojer datos dentro de una stored procedure

Cita:
Iniciado por wchiquito Ver Mensaje
Hola yotampoco,

No entiendo muy bien lo de "fuera de la procedure", imagino que te refieres al "select". Dentro de tu procedimiento almacenado puedes usar la variable "@rowid" sin problema, sin embargo, te recomiendo asignar la variable "@rowid" a una variable local.


Si señor, tienes toda la razón !!!!! (menos lo de sin problemas). Te explico:

yo tenia :

set @string = concat('select 1 as rowid from dual where 1 = 1');

y así no xutaba, porque rowid era un valor devuelto por la SP y no como variable local. Si ponía

set @string = concat('select 1 into rowid from dual where 1 = 1');

la procedure me cascaba porque me decia que no tenia rowid declarado (aunque si que lo estuviera). La buena es la tuya (poniendo la @), porque evita el casque.

Muchas gracias por tu ayuda !!!!!! Mil gracias !!!!!!
  #7 (permalink)  
Antiguo 11/02/2012, 10:02
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 13 años, 5 meses
Puntos: 42
Respuesta: Cojer datos dentro de una stored procedure

Hola yotampoco,

Mi recomendación, lee en el manual de MySQL la sección [URL="http://dev.mysql.com/doc/refman/5.5/en/user-variables.html"]8.4. User-Defined Variables[/URL]

Etiquetas: procedimietos, stored-procedure
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 12:22.