MySQL - 存储过程语法问题
MySQL - Stored Procedures syntax issue
CREATE PROCEDURE `usp_GetUserValidation`
(IN `@Username` VARCHAR(255),
IN `@Password` VARCHAR(50),
OUT `@ErrorCode` INT)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'To validate user login'
BEGIN
IF EXISTS
(SELECT UserID
FROM mt_User
WHERE Username = `@Username`
AND Password = PASSWORD(`@Password`))
BEGIN
SET `@ErrorCode` = 0;
END
ELSE
SET `@ErrorCode` = 1;
SELECT '@ErrorCode' AS res
END
大家好。我是 SQL 服务器用户。最近刚开始学习MySQL及其存储过程(例程)的编写。任何人都可以指出导致以下错误的错误是什么?提前谢谢你们:)
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 'BEGIN
SET @ErrorCode
= 0' at line 15
这可能就是您想要的。 DELIMITER BLOCK 中的整个内容,以及对 IF 块的一些更改(有一些语法错误)。请注意,它现在保存在我的系统上。
DELIMITER $$
CREATE PROCEDURE `usp_GetUserValidation`
(IN `@Username` VARCHAR(255),
IN `@Password` VARCHAR(50),
OUT `@ErrorCode` INT)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'To validate user login'
BEGIN
IF EXISTS
(SELECT UserID
FROM mt_User
WHERE Username = `@Username`
AND Password = PASSWORD(`@Password`)) THEN
SET `@ErrorCode` = 0;
ELSE
SET `@ErrorCode` = 1;
END IF;
SELECT '@ErrorCode' AS res;
END$$
DELIMITER ;
相关:.
是怎么回事
MySQL IF Syntax
上的手册页
CREATE PROCEDURE `usp_GetUserValidation`
(IN `@Username` VARCHAR(255),
IN `@Password` VARCHAR(50),
OUT `@ErrorCode` INT)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'To validate user login'
BEGIN
IF EXISTS
(SELECT UserID
FROM mt_User
WHERE Username = `@Username`
AND Password = PASSWORD(`@Password`))
BEGIN
SET `@ErrorCode` = 0;
END
ELSE
SET `@ErrorCode` = 1;
SELECT '@ErrorCode' AS res
END
大家好。我是 SQL 服务器用户。最近刚开始学习MySQL及其存储过程(例程)的编写。任何人都可以指出导致以下错误的错误是什么?提前谢谢你们:)
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 'BEGIN SET
@ErrorCode
= 0' at line 15
这可能就是您想要的。 DELIMITER BLOCK 中的整个内容,以及对 IF 块的一些更改(有一些语法错误)。请注意,它现在保存在我的系统上。
DELIMITER $$
CREATE PROCEDURE `usp_GetUserValidation`
(IN `@Username` VARCHAR(255),
IN `@Password` VARCHAR(50),
OUT `@ErrorCode` INT)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'To validate user login'
BEGIN
IF EXISTS
(SELECT UserID
FROM mt_User
WHERE Username = `@Username`
AND Password = PASSWORD(`@Password`)) THEN
SET `@ErrorCode` = 0;
ELSE
SET `@ErrorCode` = 1;
END IF;
SELECT '@ErrorCode' AS res;
END$$
DELIMITER ;
相关:
MySQL IF Syntax
上的手册页