应该没错吧,执行时只提示:查询不能被执行。错误提示的地方只显示“!描述”。
帮忙看看,急!!!!!!delimiter//
create procedure borrow_book(out par1 varchar(20),par2 varchar(20))
begindeclare n int;
update table books
set s_num=s_sum-1 where bID=par1;
update table books
set state='已借出' where bID=par1 and s_num<=0;set n=(select max(eNo) from borrow);
insert into borrow(eNo,bID,bcID,borT)
values(n+1,par1,par2,(select current_date()));end;
//
帮忙看看,急!!!!!!delimiter//
create procedure borrow_book(out par1 varchar(20),par2 varchar(20))
begindeclare n int;
update table books
set s_num=s_sum-1 where bID=par1;
update table books
set state='已借出' where bID=par1 and s_num<=0;set n=(select max(eNo) from borrow);
insert into borrow(eNo,bID,bcID,borT)
values(n+1,par1,par2,(select current_date()));end;
//
解决方案 »
- 多线程共用ado 连接,交替执行select 和insert时,insert语句总是报这个错误。idispatch error # 3105 Commands
- 50在线求数据的查询合并插入问题
- 插入数据的时候,如何避免与之相关的表数据被更改?
- mysql导入数据库乱码
- mysql中文检索
- 系统重装,mysql怎样处理
- 请教一个查询语句写法
- 求助:关于有1000000多数据的mysql数据库如何远程备份?
- mysql集群与非集群执行存储过程有什么不同
- 聊天功能的最近联系人功能(有单对单聊天也有群组聊天)数据库怎么设计好呢
- mysql菜鸟又来请教查询问题?
- 外键就是引用自己的主键,如何删除表中数据
create procedure borrow_book( par1 varchar(20),par2 varchar(20))
begindeclare n int;
update books
set s_num=s_sum-1 where bID=par1;
update books
set state='已借出' where bID=par1 and s_num<=0;set n=(select max(eNo) from borrow);
insert into borrow(eNo,bID,bcID,borT)
values(n+1,par1,par2,current_date());end;
//
最好把你的 create table 语句提供,这样别人可以直接进行调试,而不只是用眼睛来看。