[英]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.