我希望你能帮助我...
我确实知道一些 SQL,但我是 mySQL 的新手...有一个简单的查询,我无法弄清楚它有什么问题:
CREATE PROCEDURE inserttoscrapbookSD
(owner1 VARCHAR(50),
poster1 VARCHAR(50),
Scrap1 VARCHAR(50),
)
BEGIN
INSERT INTO scrapbook (Owner)
VALUES(owner1)
END
我知道要传递很多变量,但目前只使用一个变量,因为如果它适用于一个变量,那么它将适用于所有变量。我尝试在 END
和 VALUES(owner1)
的末尾使用和不使用分号 ( ; ),但没有成功。它说:
#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 INSERT INTO scrapbook (Owner) VALUES(owner1) END' at line 6
最佳答案
您的问题是您需要在定义存储过程时更改定界符,这允许您在存储过程代码中使用分号 ;
而无需完成创建命令。
试试这个:
delimiter //
CREATE PROCEDURE inserttoscrapbookSD (
owner1 VARCHAR(50),
poster1 VARCHAR(50),
Scrap1 VARCHAR(50)
)
BEGIN
INSERT INTO scrapbook (Owner)
VALUES(owner1);
END
//
delimiter ;
关于mysql - 无法找出存储过程,在 END 处出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560117/