1

我很可能有语法问题(SQL 命令和错误复制如下) - 我在 Ubuntu 11 上使用 MySQL v5.1.63(dbName 是数据库的名称,提到的字段在 USERS 表中,具有适当的数据类型/长度)。欢迎任何解决此问题的建议。

use dbName;
DELIMITER //
CREATE PROCEDURE sp_insertTest
(
IN p_ID INT(11),
IN p_UserID VARCHAR(40),
IN p_Email VARCHAR(30)
)
BEGIN
INSERT INTO USERS
(
ID,
UserID,
Email
)
VALUES
(
p_ID,
p_UserID,
p_Email
)
END//
DELIMITER;

当我获取包含上述语句的文件时出现错误:

ERROR 1064 (42000): 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 'END' at line 32
ERROR 1064 (42000): 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 'DELIMITER' at line 1

提前致谢。

4

1 回答 1

0

END//尝试在and之后添加一个空格DELIMITER;,并在插入的值之后尝试分号。更正的程序是:

DELIMITER //
CREATE PROCEDURE sp_insertTest
(
    IN p_ID INT(11),
    IN p_UserID VARCHAR(40),
    IN p_Email VARCHAR(30)
)
BEGIN
INSERT INTO USERS
(
    ID,
    UserID,
    Email
)
VALUES
(
    p_ID,
    p_UserID,
    p_Email
);
END //
DELIMITER ;
于 2012-06-22T20:28:59.830 回答