首页 > 解决方案 > pl/sql: 你的 SQL 语法有错误如何修复这个错误?

问题描述

我正在创建一个新程序,但出现错误:

您的 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
-> //

ERROR 1064 (42000):您的 SQL 语法有错误;检查
与您的 MariaDB 服务器版本相对应的手册,以了解
在 '--Exception handling set @errormsg=''; 附近使用的正确语法;如果 p1 <=0 则在第 5 行开始设置 @errormsg='Wro'

标签: plsql

解决方案


该行--Exception handling是注释。MariaDB 在两个破折号后需要一个空格,所以改为-- Exception handling.


推荐阅读