MySQL - Stored Procedure

 
Vista:

Stored Procedure

Publicado por Miguel (1 intervención) el 27/07/2007 19:55:53
Hola gente, quería saber si alguien me puede ayudar con este problema que tengo:
No puedo generar stored procedures que contengan un "if" o un "begin", solamente puedo crear stored muy basicos. Probe bajando ejemplos desde la web e incluso desde el mismo help, pero asi y todo no funciona. Queria saber, si existe alguna configuracion en particular que haya que hacer en la instalacion o post-instalacion.
Aviso de antemano que tengo la version 5 instalada con el ultimo release en una plataforma microsoft (win xp). Los stored los genero desde el MySql-Front.
Paso un ejemplo de un stored que no me deja generar:

CREATE PROCEDURE simpleproc (IN variable integer)
BEGIN
if variable = 1 then
SELECT * FROM tabla1
end if
END

Probe con ";" al final de cada instruccion y no funciono tampoco.

Desde ya muchas gracias a quien me pueda ayudar!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Stored Procedure

Publicado por Vinicio (14 intervenciones) el 27/07/2007 23:56:59
Yo creo los store procedures desde el Query browser y donde se escriben las consultas escribo el store procedure por ejemplo:

CREATE FUNCTION expCaseQuan(ItemCode INT,ItemExp DATE) RETURNS int(11)
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a INT;
DECLARE Rst INT DEFAULT 0;
DECLARE cur1 CURSOR FOR SELECT SUM(cajas) FROM vencimientos WHERE ItemID = ItemCode and fechavencimiento = ItemExp;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO a;
IF NOT done THEN
Set Rst = a;
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
Return Rst;
END;

y luego le doy ejecutar, hasta el momento me funciona bien.
Y si quiero borrar un procedure escribo esto:

DROP FUNCTION IF EXISTS expCaseQuan;

y le doy ejecutar nuevamente.

Intentalo y me contas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Stored Procedure

Publicado por sin dientes (25 intervenciones) el 31/07/2007 17:52:29
creo q el select * no es valido, debe de ser un select campos into campo_sal

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Stored Procedure

Publicado por Erick Martinez (1 intervención) el 08/01/2008 00:16:52
Prueba con mysql-> delimiter //
luego tu procedimiento con ';' después del enunciado de select, una vez creado vuelve a delimiter ;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Stored Procedure

Publicado por robert (1 intervención) el 03/06/2008 18:20:50
tengo el mismo problema es solo que yo hago clic derecho en la base de datos y no me sale la opcion new procedure , sale deshabilitada, que hago ?
Ayudenme
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar