存储过程

图书管理系统存储过程设计

1、建立存储过程完成图书管理系统中的借书功能。
   功能要求:                  
l    借书时要求输入借阅流水号,借书证号,图书编号。(即该存储过程有3个输入参数)                        
l    借书时,借书日期为系统时间。
l    图书的是否借出改为‘是’  

create or replace procedure lendBook
(
 v_lendid  lend.lid%type,
 v_readerid  reader.rid%type,
 v_bookid book.bid%type
)
as
begin
     insert into lend values(v_lendid, v_readerid, v_bookid,SYSDATE, NULL, NULL, NULL);
     update book set b_isborrow= '是'
     where book.bid = v_bid;
end;
 

2、建立存储过程完成图书管理系统中的预约功能。
l    预约时要求输入预约流水号,借书证号,ISBN。(即该存储过程有3个输入参数)
l    存储过程先检查输入的ISBN版本的图书是否都已借出,如果是则进行预约,否则提示“该书目有可借图书,请查找”。
l    预约时间为系统时间。

create or replace procedure bookingBook
(
 v_bookingid booking.bookid%type,
 v_readerid  reader.rid%type,
 v_bookid book.isbn%type
)
as
  v_not_borrow number;
begin
     --insert into lend values();
     select count(*) into v_not_borrow
     from book
     where book.b_isborrow = '否';
     if v_not_borrow = 0 then
       insert into booking values(v_bookingid, v_readerid, v_bookid, SYSDATE);
     else
         dbms_output.put_line('该书目有可借图书,请查找');
     end if;
end;

 

3、建立存储过程完成图书管理系统中的还书功能。
l    还书时要求输入借书证号,图书编号,罚款分类号(即该存储过程有3个输入参数)。
l    还书日期为系统时间。
l    图书的是否借出改为‘否’。

create or replace procedure sendBack
(
 v_rid lend.rid%type,
 v_bid  lend.bid%type,
 v_fid lend.fid%type
)
as
begin
     update lend
     set
     enddate = SYSDATE,
     fid = v_fid
     where
          v_rid = rid
          and v_bid = bid;

     update book
     set book.b_isborrow = '否';
end;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值