2014-12-11 13 views
6

Ho la seguente procedura di memorizzazione. Mi dà qualche erroreerrore di stored procedure mysql: punto e virgola mancante

DROP procedure IF exists getQueueMessage; 
DELIMITER $$ 
CREATE DEFINER=`root`@`localhost` PROCEDURE `getQueueMessage`(msg varchar(100)) 
BEGIN 

SELECT `Name` FROM queues WHERE Id IN (
SELECT PhysicalQueueId FROM indexqueuemaps WHERE ConditionFieldValue = msg) 
END 
END$$ 
DELIMITER ; 

Mi sta dando missing semicolon error. Non so Perché questo errore sta arrivando. Qualcuno può aiutarmi?

risposta

17

Prova in questo modo:

DROP procedure IF exists getQueueMessage; 
DELIMITER $$ 
CREATE DEFINER=`root`@`localhost` PROCEDURE `getQueueMessage`(msg varchar(100)) 
BEGIN 

SELECT `Name` FROM queues WHERE Id IN (
SELECT PhysicalQueueId FROM indexqueuemaps WHERE ConditionFieldValue = msg); 
END$$ 
DELIMITER ; 
-2

Sostituire root @localhost con root @localhost

3

C'è solo un BEGIN e due END s, rimuovere il 2 ° END e si dovrebbe andare bene.

Problemi correlati