mysql - 插入带有参数的存储过程MYSQL不起作用

标签 mysql stored-procedures parameters sql-insert

我正在尝试使用 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/

相关文章:

java - 使用 Gradle/Java8 构建时存储某些类的方法参数名称

mysql - WAMP安装错误: MySQL port

mysql - SQL,合并同一个表的两个聚合

sql - 在不使用输出参数的情况下存储存储过程的结果

MySQL 存储过程列名连接语法

c++ - 继承和少量参数

mysql - 在没有内部选择的情况下获取最低价格 ID

mysql - PERL::DBI 在列表中获取用户数据库

mysql - 需要寻找有指定时段的免费诊所

c# - 如何获取所有字符串格式参数