我正在尝试使用 mysql workbench 创建一个带有参数的存储过程,以将数据插入表中。
我做错了什么??
USE deb42181_ramos;
CREATE PROCEDURE sp_insertuser(IN gebruikersnaamparam varchar(10)
, IN wachtwoordparam VARCHAR(50)
, IN voornaamparam VARCHAR(15)
, IN achternaamparam VARCHAR(15)
, IN tussenvoegselparam VARCHAR(10)
, IN gebruikerlevelparam INT)
BEGIN
INSERT INTO gebruikers (
gebruikersnaam
, wachtwoord
, voornaam
, achternaam
, tussenvoegsel
, gebruikerlevel)
VALUES (gebruikersnaamparam
, wachtwoordparam
, voornaamparam
, achternaamparam
, tussenvoegselparam
, gebruikerlevelparam);
END
错误出现在 ) he doesn't expect a ;
之后的值的最后一行
问候杰伦
最佳答案
您需要更改分隔符,如下所示:
# change the delimiter to $$, so you can use semicolon in create procedure
DELIMITER $$
USE deb42181_ramos$$
DROP PROCEDURE IF EXISTS sp_insertuser$$
CREATE PROCEDURE sp_insertuser(IN gebruikersnaamparam varchar(10)
, IN wachtwoordparam VARCHAR(50)
, IN voornaamparam VARCHAR(15)
, IN achternaamparam VARCHAR(15)
, IN tussenvoegselparam VARCHAR(10)
, IN gebruikerlevelparam INT)
BEGIN
INSERT INTO gebruikers (
gebruikersnaam
, wachtwoord
, voornaam
, achternaam
, tussenvoegsel
, gebruikerlevel)
VALUES (gebruikersnaamparam
, wachtwoordparam
, voornaamparam
, achternaamparam
, tussenvoegselparam
, gebruikerlevelparam);
END$$
# change the delimiter back to semicolon
DELIMITER ;
关于mysql - 插入带有参数的存储过程MYSQL不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19158299/