10 messages in com.mysql.lists.mysql-esRe: problema con variable en store pr...
FromSent OnAttachments
Alexandro Colorado17 Jul 2008 13:29 
Thomas Goik - auxion.de18 Jul 2008 00:31 
carlos19 Jul 2008 11:44 
Edwin Cruz20 Jul 2008 17:00 
carlos21 Jul 2008 03:51 
Thomas Goik - auxion.de21 Jul 2008 11:34 
Alexandro Colorado21 Jul 2008 11:48 
Thomas Goik - auxion.de21 Jul 2008 13:13 
Alexandro Colorado21 Jul 2008 13:27 
carlos21 Jul 2008 17:48 
Subject:Re: problema con variable en store procedure
From:Edwin Cruz (sof@gmail.com)
Date:07/20/2008 05:00:19 PM
List:com.mysql.lists.mysql-es

Hola, no puedes usar directamente la variable en la consulta, lo que quieres se puede hacer asi:

set @consulta = concat ("select * from tabla where id=1 limit "+p_cantidad); prepare consulta from @consulta; execute consulta;

Solo puedes usar los parametros dentro del WHERE

Saludos!

On Sat, Jul 19, 2008 at 11:45 AM, carlos <cbar@adinet.com.uy> wrote:

Amigos del foro:

tengo el siguiente problema en un store procedure (que adjunto más abajo): si en la clausula "limit" utilizo un número, no hay problema, pero cuando le quiero asignar una variable, me da error al crear el store.

anda bien cuando Select ......... limit = 10; anda mal cuando Select ......... limit = p_cantidad;

aca va el store y espero sus comentarios. Gracias

1 delimiter // 2 3 drop procedure if exists bbdd.storeProcedure; // 4 5 create procedure storeProcedure (p_cantidad int) 6 7 8 begin 9 start transaction; 10 11 select s.correlativo, 12 s.fecha, 13 m.mensaje 14 15 from msg s 16 inner join mensajes m 17 on s.correlativo = m.correlativo 18 19 where s.estado = 15 20 order by s.fecha 21 limit p_cantidad; 22 23 commit; 24 end 25 // 26