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;