2

I am trying to create a stored procedure in MySQL, and I keep getting the error

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DELIMITER' at line 1

Expected delimiter. (near "" at position 10)

What am I doing wrong? EDIT: having got rid of the erros, now my procedure is simply inserting null values, any idea why?

DELIMITER //
CREATE PROCEDURE sp_TEXT4()


BEGIN
   DECLARE refstock VARCHAR(20);
    DECLARE frkmarca INT ;
    DECLARE frkallextras INT ;
    DECLARE frkeconservacao INT ;
    DECLARE frkallcategorias INT ;
    DECLARE modelo VARCHAR(45);
    DECLARE titulo VARCHAR(45);
    DECLARE ano INT;
    DECLARE mes INT;
    DECLARE horas INT;

    DECLARE obs TEXT;
    DECLARE preco DOUBLE;
    DECLARE minpreco DOUBLE;
    DECLARE negociavel BINARY(1);
    DECLARE youtube VARCHAR(45);
    
    SET refstock="refstock";
    SET frkmarca=1;
    SET frkallextras=1;
    SET frkeconservacao=1;
    SET frkallcategorias=1;
    SET modelo ="modelo";
    SET titulo="titulo";
    SET ano=1;
    SET mes=1;
    SET horas=1;
 
    SET obs="obs";
    SET preco="1";
    SET minpreco="1";
    SET negociavel=true;
    SET youtube="youtube";



INSERT INTO anuncios (refstock,frkmarca,frkallextras,frkeconservacao,frkallcategorias,modelo,titulo,ano,mes,horas,obs,preco,minpreco,negociavel,youtube)
            VALUES (@refstock,@frkmarca,@frkallextras,@frkeconservacao,@frkallcategorias,@modelo,@titulo,@ano,@mes,@horas,@obs,@preco,@minpreco,@negociavel,@youtube);



    
END;
//
DELIMITER;
Community
  • 1
  • 1
CodePT
  • 67
  • 1
  • 12

2 Answers2

4

Need space between DELIMITER and the delimiter:

DELIMITER ;
Rick James
  • 135,179
  • 13
  • 127
  • 222
1
DELIMITER $$
CREATE DEFINER=`id1278863_root`@`%` PROCEDURE `sp_TEXT5`()
BEGIN
   DECLARE refstock VARCHAR(20);
    DECLARE frkmarca INT ;       
    DECLARE frkeconservacao INT ;
    DECLARE frkallcategorias INT ;
    DECLARE modelo VARCHAR(45);
    DECLARE titulo VARCHAR(45);
    DECLARE ano INT;
    DECLARE mes INT;
    DECLARE horas INT;    
    DECLARE obs TEXT;
    DECLARE preco DOUBLE;
    DECLARE minpreco DOUBLE;
    DECLARE negociavel BINARY(1);
    DECLARE youtube VARCHAR(45);

    SET @refstock="refstock";
    SET @frkmarca=1;   
    SET @frkeconservacao=1;
    SET @frkallcategorias=1;
    SET @modelo ="modelo";
    SET @titulo="titulo";
    SET @ano=1;
    SET @mes=1;
    SET @horas=1;     
    SET @obs="obs";
    SET @preco="1";
    SET @minpreco="1";
    SET @negociavel=true;
    SET @youtube="youtube";



 INSERT INTO anuncios (refstock,frkmarca,frkeconservacao,frkallcategorias,modelo,titulo,ano,mes,horas,obs,preco,minpreco,negociavel,youtube)
            VALUES (@refstock,@frkmarca,@frkeconservacao,@frkallcategorias,@modelo,@titulo,@ano,@mes,@dia,@obs,@preco,@minpreco,@negociavel,@youtube);




 END$$
 DELIMITER ;

now its working, thanks

CodePT
  • 67
  • 1
  • 12