La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/MySQL/1312434-Duda-con-SP-en-MY-SQL.html

Duda con SP en MY SQL ....

sin imagen de perfil

Duda con SP en MY SQL ....

Publicado por OSCAR CARRIZALES (2 intervenciones) el 15/02/2012 18:42:36
Buen día,

Por favor ayúdenme en el siguiente caso, tengo este SP y me marca error de sintaxis más no encuentro donde esta el error:

drop procedure if exists sp_lista_documento_ingreso;
create procedure sp_lista_documento_ingreso(ndoc_ varchar(100),inicio tinyint,cantidad tinyint)
reads sql data
begin
SET @doc = concat('%',ndoc_,'%');
SET @ini = inicio;
SET @lmt = cantidad;
if cantidad = 0 then
prepare stmt from "select d.iddocumento,concat(p.apellidos,', ',p.nombres) as personal,d.ndocumento,d.monto,d.fecpago,d.estado,c.concepto from cuota c inner join documento d on c.idcuota=d.idcuota inner join usuario u on u.idusuario=d.idusuario inner join personal p on p.idpersonal=u.idpersonal where ndocumento like ?";
execute stmt using @doc;
else
prepare stmt from "select d.iddocumento,concat(p.apellidos,', ',p.nombres) as personal,d.ndocumento,d.monto,d.fecpago,d.estado,c.concepto from cuota c inner join documento d on c.idcuota=d.idcuota inner join usuario u on u.idusuario=d.idusuario inner join personal p on p.idpersonal=u.idpersonal where ndocumento like ? limit ?,?";
execute stmt using @doc,@ini,@lmt;
end if;
end ;

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5

Agradezco de antemano su apoyo, saludos

Duda con SP en MY SQL ....

Publicado por martin (150 intervenciones) el 16/02/2012 12:18:00
A primera vista te falta declarar las variables(DECLARE) para luego setearlas(SET) y recorda especificar el delimitardor en tu script.

Saludos
sin imagen de perfil

Duda con SP en MY SQL ....

Publicado por OSCAR CARRIZALES (2 intervenciones) el 17/02/2012 00:49:18
Martin, muchas gracias por tu respuesta, pero dejame te comento que pude ejecutar el query para dar de alta el SP desde el WORKBRECH de MySQL y esto directamente en el SCHEMA, y posterior en donde dice ROUTINES, click con el boton derecho y "CREATE ROUTINE" ...

Ahi no me marco los mismos errores que esta observando en la ventana de QUERY....

De todas formas, anote tus recomendaciones, saludos!

Duda con SP en MY SQL ....

Publicado por martin (150 intervenciones) el 18/02/2012 14:14:37
El error mas comun o al menos lo que me paso a mi, eran los delimitadores(que no es un error)

Cuando escribis un SP emplea una estructura asi( o parecida):


DELIMITER $$

CREATE PROCEDURE .......

END


DELIMITER ;