【发布时间】:2014-01-07 08:07:23
【问题描述】:
我无法在存储过程中声明 mysql 变量。我也无法打开游标,我一直收到同样的错误:
ERROR 1064 (42000):您的 SQL 语法有错误;检查 与您的 MySQL 服务器版本相对应的手册 在 '@userID INT; 附近使用的语法; DECLARE @cursorUserID CURSOR FOR SELECT (MAX(userID) + 1) FROM Use' 在第 3 行。
代码如下:
use phpBank;
DELIMITER //
CREATE PROCEDURE newUser()
BEGIN
DECLARE @userID INT;
DECLARE @cursorUserID CURSOR FOR SELECT (MAX(userID) + 1) FROM Users;
OPEN @newUserID;
END;
//
DELIMITER ;
【问题讨论】:
-
为什么你可能需要一个光标来只选择一行..?
-
使用此代码我得到错误:'ERROR 1064 (42000): You have an error in your SQL syntax;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '@userID int; 附近使用的正确语法;将@cursorUserID 声明为光标;
标签: mysql sql stored-procedures