Paste into stored procedure with MYSQL parameters not working

I am trying to create a stored procedure with parameters using mysql workbench to insert data into a table.

what am I doing wrong?

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 

the error is in the last row of values ​​after), it does not expect a; considers Jeren

+6
source share
2 answers

You need to change the delimiter, for example:

 # 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 ; 
+8
source
 DELIMITER $$ DROP PROCEDURE IF EXISTS `database_name`.`ins`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `ins`(in nam varchar(50),in username varchar(50), in branch varchar(50)) BEGIN insert into table_name(nam,user_name,branch) values(nam,username,branch); END$$ DELIMITER ; call ins('sas','sdsd','sdsd') 
+2
source

Source: https://habr.com/ru/post/955183/


All Articles