Hola soy nuevo en Mysql y estoy tratando de hacer algo que normalmente hago en Microsoft SQL server y es tener una función que reciba 2 cadenas de caracteres; username y password, y que me haga la consulta a la base de datos y me responda (con TRUE o FALSE) si el usuario existe o no en la base de datos. Pero cuanto intento crear la función con este script me devuelve un error:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
Este es el código de mi función:
use mydb;
CREATE FUNCTION verificaLogin(username varchar(20), password varchar(45))
RETURNS bit
IF EXISTS(select * from `tblusuario` where (`userNameUsuario` = username) and (`passUsuario` = password)) THEN
RETURN 1;
else
return 0;
end if;
end;
estes es el SCRIPT que utilize para crear la tabla de usuarios
CREATE TABLE IF NOT EXISTS `mydb`.`tblUsuario` (
`idtblUsuario` INT NOT NULL AUTO_INCREMENT,
`nombreUsuario` VARCHAR(45) NOT NULL,
`apellidoUsuario` VARCHAR(45) NOT NULL,
`userNameUsuario` VARCHAR(20) NOT NULL,
`passUsuario` VARCHAR(45) NOT NULL,
`activoUsuario` TINYINT(1) NOT NULL,
`dateCreateUsuario` DATETIME NOT NULL,
`dateUpdateUsuario` DATETIME NOT NULL,
PRIMARY KEY (`idtblUsuario`))
ENGINE = InnoDB
Otros datos
- Mi base de datos se llama mydb y la tabla tblusuario
- He intentado cambiar este simbolo ` por este ' y este " e incluso por espacio
- He intentado con TRUE y FALSE
- He intentado con BOOLEAN en lugar de bit
- He intentado con @usermane y @password para declarar y usar los parametros
- He intentado poner BEGIN y END en los bloques del IF.
estoy usando: Server version: 5.6.12-log - MySQL Community Server (GPL)
Me estoy decepcionando demasiado pronto de MYSQL o es que SQLSERVER es muy facil????
Muchas Gracias a la persona que me ayude a resolverlo :)
Edited 4 time(s). Last edit at 02/20/2014 03:51PM by Marco Flores Artica.