我正在创建一个新过程,但出现错误:
您的SQL语法有误
如何解决此错误?报价有问题吗?
delimiter //
MariaDB [assign5]> create procedure doissuebook(p1 int ,p2
varchar(20),p3 varchar(20),p4 varchar(30))
-> X: Begin
-> set @p3val=str_to_date(p3,'%d/%m/%y');
-> set @p5val="I";
-> --Exception handling
-> set @errormsg='';
-> if p1 <=0 then
-> begin
-> set @errormsg='Wrong roll number specified';
-> select @errormsg;
-> leave X;
-> end;
-> end if;
-> if length(p4) <=0 then
-> begin
-> set @errormsg='Wrong book specified';
-> select @errormsg;
-> leave X;
-> end;
-> end if;
-> insert into borrower (roll_no,name,DateOfIssue,NameOfBook,status)
values (p1,p2,@p3val,p4,@p5val);
-> END
-> //
错误1064(42000):您的SQL语法有错误;查看手册
对应于您的MariaDB服务器版本的正确语法,
在'附近使用-异常处理 设置@ errormsg =''; 如果p1 <= 0,则 开始 在第5行设置@ errormsg ='Wro'
答案 0 :(得分:0)
第--Exception handling
行是注释。 MariaDB requires a space after the two dashes,因此更改为-- Exception handling
。