【发布时间】:2016-10-28 08:31:24
【问题描述】:
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 Server 用户。最近刚开始学习MySQL及其存储过程(例程)的编写。谁能指出我犯的导致以下错误的错误是什么?提前谢谢你们:)
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以了解正确的语法使用
在“开始”附近 SET
@ErrorCode= 0' 在第 15 行
【问题讨论】:
-
我认为在 Begin 和 End 之间你需要一个实际的查询,而不仅仅是“设置任何内容”。根据错误中的建议查看手册:dev.mysql.com/doc/refman/5.7/en/create-procedure.html
-
是的。好像是这样 :) 非常感谢兄弟
标签: mysql stored-procedures mysql-routines