MySQL简单的程序错误

时间:2015-07-18 18:39:43

标签: mysql

我想在表格中插入简单的程序。这是我的代码:

dir

http://prntscr.com/7u7eia 当我通过下划线部分使用maous时我收到通知语法错误:缺少'semicolon' 当我尝试运行Query时出现错误1064。

1 个答案:

答案 0 :(得分:0)

您的存储过程应如下所示:

drop procedure if exists dodajKorisnika;
DELIMITER ;;
create procedure dodajKorisnika
(
    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

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

END;;
DELIMITER ;

使用分隔符的原因是:

  

从分号更改默认MySQL脚本解析器的分隔符   (;)到双半音符号(;;)。你这样做的原因是这样的   例程正文中的每个语句后面的分号都不是   解析器解释为CREATE PROCEDURE的结束   声明。这是因为整个CREATE PROCEDURE块,来自   CREATE PROCEDURE到END实际上是必须的单个语句   由它自己执行。如果不是分隔符更改,脚本   会破坏,因为BEGIN和END中的每个语句都会   单独执行。 请注意,您可以使用各种非保留   用于制作自己的自定义分隔符的字符。

drop procedure将删除现有例程(如果存在)。

希望这有帮助。