1、建立存储过程完成图书管理系统中的借书功能。 功能要求:
- 借书时要求输入借阅流水号,借书证号,图书编号。(即该存储过程有3个输入参数)
- 借书时,借书日期为系统时间。
- 图书的是否借出改为‘是’
create or replace procedure leyout(out_id integer,s_id varchar2,book_id varchar2) as nowdate varchar2(12);
--tmp integer; begin select to_char(sysdate,'yyyy-mm-dd') into nowdate from dual;
--select count(*) into tmp from 图书 where 图书.图书编号 = book_id AND 图书.是否借出 = '否';
--if tmp<>0 then insert into 借阅(借阅流水号,借书证号,图书编号,借书日期) values(out_id,s_id,book_id,to_date(nowdate,'yyyy-mm-dd'));
update 图书 set 图书.是否借出 = '是' where 图书.图书编号 = book_id;
--end if;
commit;
end;
2、建立存储过程完成图书管理系统中的预约功能。
- 预约时要求输入预约流水号,借书证号,ISBN。(即该存储过程有3个输入参数)
- 存储过程先检查输入的ISBN版本的图书是否都已借出,如果是则进行预约,否则提示“该书目有可借图书,请查找”。
- 预约时间为系统时间。
CREATE OR REPLACE PROCEDURE yuyue(yy_id integer,s_id varchar2,isbn varchar2)
AS nowdate varchar2(12);
tmp integer;
BEGIN
SELECT to_char(sysdate,'yyyy-mm-dd') INTO nowdate FROM dual;
SELECT count(*) INTO tmp FROM 图书 WHERE ISBN = isbn AND 是否借出 = '否';
IF tmp <> 0 THEN
INSERT INTO 预约(预约流水号,借书证号,ISBN,预约时间) VALUES(yy_id,s_id,isbn,to_date(nowdate,'yyyy-mm-dd'));
dbms_output.put_line('成功');
ELSE dbms_output.put_line('该书目有可借图书,请查找');
END IF;
COMMIT;
END;
3、建立存储过程完成图书管理系统中的还书功能。
- 还书时要求输入借书证号,图书编号,罚款分类号(即该存储过程有3个输入参数)。
- 还书日期为系统时间。
- 图书的是否借出改为‘否’。
CREATE OR REPLACE PROCEDURE backbook(s_id integer,book_id varchar2,p_id integer)
AS nowdate varchar2(12);
--定义一个变量来储存日期
BEGIN SELECT to_char(sysdate,'yyyy-mm-dd') INTO nowdate FROM dual;
--获取系统时间
UPDATE 借阅 SET 归还日期 = to_date(nowdate,'yyyy-mm-dd'),罚款分类号 = p_id WHERE 借书证号 = s_id AND 图书编号 = book_id;
--添加归还日期
--UPDATE 借阅 SET 罚款分类号 = p_id WHERE 借书证号 = s_id AND 图书编号 = book_id;
--添加罚款分类 UPDATE 图书 SET 是否借出 = '否' WHERE 图书编号 = book_id;
--修改图书状态
COMMIT;
END;



所有评论(0)