繁体   English   中英

无法创建存储过程:语法错误

[英]Can't create stored procedure: Syntax error

我想制作一个将用户插入表中的过程,但是它也应该检查用户是否18岁。 我正在用if语句“做”它( p_datum_rodjenja是用户的生日)。 我不确定我的逻辑是否有效,因为我无法创建此过程:当我尝试运行查询时,出现以下错误:

语法错误。 错误代码:1064。

这是我的代码:

delimiter #
create  procedure dodajKorisnikaProvjera
(
    IN p_ime varchar(15),
    IN p_prezime varchar(15),
    IN p_broj_telefona int,
    IN p_datum_rodjenja date,
    IN p_broj_vozacke int,
    IN p_grad_id int
)
BEGIN

if(TIMESTAMPDIFF(p_datum_rodjenja,CURDATE()) >18) then

    INSERT into korisnik(
    ime,
    prezime,
    broj_telefona,
    datum_rodjenja,
    broj_vozacke,
    grad_id)
     VALUES(
    p_ime,
    p_prezime,
    p_broj_telefona,
    p_datum_rodjenja,
    p_broj_vozacke,
    p_grad_id
    );
    else
    select'Korisnik mora imati vise od 18 godina.';
    end if;

END#
delimiter;

您在Timestampdiff函数中出错。 像这样纠正它:

TIMESTAMPDIFF(year,p_datum_rodjenja,CURDATE()) >18)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM