2011-02-18 14 views
18

Estoy intentando hacer un procedimiento almacenado utilizando mySQL. Este procedimiento validará un nombre de usuario y una contraseña. Actualmente estoy ejecutando mySQL 5.0.32 por lo que debería ser posible crear procedimientos.Crear un procedimiento en mySql con los parámetros

Aquí está el código que he usado. Todo lo que obtengo es un error de sintaxis SQL.

GO 
    CREATE PROCEDURE checkUser 
    (IN @brugernavn varchar(64)),IN @password varchar(64)) 
    BEGIN 
    SELECT COUNT(*) FROM bruger WHERE [email protected] AND [email protected]; 
    END; 

gracias de antemano

Respuesta

40

lo he descubierto ahora. Aquí está la respuesta correcta

CREATE PROCEDURE checkUser 
(
    brugernavn1 varchar(64), 
    password varchar(64) 
) 
BEGIN 
    SELECT COUNT(*) FROM bruger 
    WHERE bruger.brugernavn=brugernavn1 
    AND bruger.pass=password; 
END; 

@ apunta a una var global en mysql. La sintaxis anterior es correcta.

+1

eliminado mi post anterior. Olvidé que @ apunta a una var global en mysql (generalmente trabajo en el servidor Sql donde @ apunta a un parámetro normal). Si desea verificar la sintaxis de un comando, siempre puede ir al [manual de referencia de mysql] (http://dev.mysql.com/doc/refman/5.5/en/index.html). Para CREAR PROCEDIMIENTO, esta sería [esta página] (http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html). –

+0

Ver [esta página] (http://dev.mysql.com/doc/refman/5.1/en/commands-out-of-sync.html). –

5
(IN @brugernavn varchar(64)**)**,IN @password varchar(64)) 

El problema es el )

Cuestiones relacionadas