plsql - 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'
解决方案
该行--Exception handling
是注释。MariaDB 在两个破折号后需要一个空格,所以改为-- Exception handling
.
推荐阅读
- forms - 我需要在 Delphi 中释放自动创建的表单吗?
- html - 如何使用 R 抓取 NSE 指数(NIFTY 50)的基本面数据
- excel - 从要包含的固定单元格中选择文本
- javascript - 未捕获的 SyntaxError:无效或意外的令牌 bundle.js:formatted:1
- mysql - 当我在 aws ubuntu 上安装 mysql 时发生错误
- google-cloud-platform - 使用什么机器实例在 Google Cloud Platform 中运行 GPU 工作负载
- html - 如何在不指定体重和高度的情况下制作全局占位符标签?
- powershell - Powershell - 如何运行位于另一台计算机上的脚本?
- c - 如何在一个makefile中编译多个项目
- php - php if 语句导致文件写入两次