source

MySQL/MariaDB에서 저장 프로시저를 생성하는 중 오류 발생

manysource 2023. 1. 17. 21:21

MySQL/MariaDB에서 저장 프로시저를 생성하는 중 오류 발생

MySQL에 저장 프로시저를 생성하려고 하는데 오류가 계속 나타납니다.

#1064 - SQL 구문에 오류가 있습니다.MariaDB 서버 버전에 대응하는 매뉴얼에서 1행의 'DELimiter' 근처에서 사용할 올바른 구문을 확인하십시오.

딜리미터가 필요합니다.(위치 10의 " " 근처)

내가 뭘 잘못하고 있지?편집: 에러 제거 후 내 절차는 단순히 null 값을 삽입하는 것입니다. 왜 그런지 아십니까?

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;

사이에 공백이 필요함DELIMITER및 구분 기호:

DELIMITER ;
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 ;

이제 됐다, 고마워

언급URL : https://stackoverflow.com/questions/46693598/error-creating-stored-procedure-in-mysql-mariadb