josias1982
Usuario Novato
Usuario Novato

Hola foreros:

Estoy declarando un procedure en mysql y me da el error 1064. Según me parece el  problema es de delimitadores ( De acuerdo a lo que leo en http://stackoverflow.com/questions/[....]yntax-check-the-manual-that-corresp )pero no logro dar con la solución. (Tampoco me reconoce la instrucción DELIMITER)

El código de mi procedimiento es :

CREATE DEFINER = 'root'@'localhost' PROCEDURE `stp_AddLocalGameMeeting`(
       IN local_id INTEGER(3),
       IN local_gol INTEGER(6),
       IN local_penal INTEGER(2),
       IN visitor_id INTEGER(3),
       IN visitor_gol INTEGER(6),
       IN visitor_penal INTEGER(2),
       IN champ INTEGER(3),
       IN instance INTEGER(5),
       IN neutral BOOLEAN,
       IN adate VARCHAR(11),
       IN meeting INTEGER(6)
   )
   NOT DETERMINISTIC;
   CONTAINS SQL;
   SQL SECURITY DEFINER;
   COMMENT 'This procedure insert a register on the local_match table.';
BEGIN
# Variables usadas en el procedimiento
declare fieldId INTEGER(3);
declare existMeeting BOOLEAN DEFAULT FALSE;

# Validacion del valor para FIELD. Si es FALSE se pone el ID del local porque el partido es ahí.
CASE neutral
   WHEN TRUE THEN SET fieldId = -1;
   WHEN FALSE THEN SET fieldId = local_id;
END CASE;

# Insertamos en local_matchs
INSERT INTO local_matchs
(`part_id`, `local_id`,`goals_loc`,`penals_loc`,`visitor_id`, `goals_vis`, `penals_vis`, `champ_id`, `instance`, `field`, `date`, `meeting_id`)
VALUES
(NULL, local_id, local_gol, local_penal, visitor_id, visitor_gol, visitor_penal,champ ,instance, fieldId, adate, meeting);

# Si el meeting es -1 no se inserta en WINNERS porque no es partido de eliminatorias.
IF meeting > 0 THEN
   # Buscamos si ya existe el meeting_id en local_match_winners
   SELECT TRUE INTO existMeeting FROM local_matchs_winners WHERE local_matchs_winners.meeting_id = meeting;

   # Si no existe se registra.
   IF NOT existMeeting THEN
       INSERT INTO local_matchs_winners(meeting_id) VALUES( meeting);
   END IF;
END IF;
END;

Este script funciona bien ejecutado por el SQL Manager 2010 para MySQL, pero cuando lo ejecuto por el phpmyadmin de la misma instancia es que me da el error. Espero me puedan ayudar. Saludos

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 15/Dic/2016, 10:40
JLCORMAR GestionXls12kDec/16
Por: , el 22/Jul/2016, 03:17
malbersado sule_8312kAug/16
Por: , el 05/Ene/2016, 21:58
paul1993 GestionXls33kJan/16
Por: , el 03/Dic/2014, 06:13
noesuxx NoSetup.org13kDec/14
Por: , el 28/Mar/2014, 03:05
Programer10 GestionXls NoSetup.org User 929335132kApr/14