2010-02-28 15 views
5

Estoy en una pérdida, no veo la razón por algo tan simple como esto no va a funcionar:Creación de un procedimiento

CREATE PROCEDURE test() 
BEGIN 
    DECLARE var INT; 
    SET var = 0; 
END 

estoy literalmente a probar esto porque me parece que no puede para crear algo en absoluto. El mensaje de error que consigo es:

[ERROR en la consulta 1] Usted tiene un error en su sintaxis SQL; revise el manual que corresponde a su versión de servidor MySQL para la sintaxis correcta para usar cerca de '' en la línea 3

La línea 3 es la declaración DECLARAR. ¿Algunas ideas?

Respuesta

11

Este es un problema común cuando delimitador de la creación de procedimientos almacenados en cualquier plataforma SQL. El delimitador predeterminado es ; así que cuando MySQL ve la primera ; en la Línea 3, se analiza como el final de la instrucción. Hay que cambiar el delimitador a otra cosa y marcar el final del procedimiento almacenado con el nuevo delimitador.

-- Change DELIMITER TO // instead of ; 
DELIMITER // 

CREATE PROCEDURE test() 
BEGIN 
    DECLARE var INT; 
    SET var = 0; 
END 
// 
-- Mark the stored procedure as one statement 

DELIMITER ; 
-- Change delimiter back to ; 
+0

Cómo raro. ¡Muchas gracias! – Kezzer

Cuestiones relacionadas