1
我想創建一個將用戶插入表的過程,但它也應該檢查用戶是否18歲。我使用if
聲明(p_datum_rodjenja
是用戶的出生日期)「執行」它。我不知道如果我的邏輯的作品,因爲我不能創建此過程:當我嘗試運行我得到了以下錯誤查詢:無法創建存儲過程:語法錯誤
Syntax error. Error code: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(年,p_datum_rodjenja,CURDATE())> 18) –
THX的傢伙,它的工作原理。如果你只能幫助我什麼是「年」,爲什麼我使用它? –
這是關於此的好教程:http://www.w3resource.com/mysql/date-and-time-functions/mysql-timestampdiff-function.php –