pl / sql: у вас есть ошибка в вашем синтаксисе SQL, как исправить эту ошибку? - PullRequest
0 голосов
/ 21 октября 2019

Я создаю новую процедуру и получаю сообщение об ошибке:

У вас есть ошибка в синтаксисе 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, чтобы
использовать около '--Exception set set @ errormsg =' ';если p1 <= 0, тогда начните с @ errormsg = 'Wro' в строке 5 </p>

1 Ответ

0 голосов
/ 21 октября 2019

Строка --Exception handling является комментарием. MariaDB требует пробела после двух тире , поэтому измените на -- Exception handling.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...