西南科技大学 Oracle 数据库实验3 存储过程
2013-06-03 00:00
459 查看
1、建立存储过程完成图书管理系统中的借书功能。 功能要求:
借书时要求输入借阅流水号,借书证号,图书编号。(即该存储过程有3个输入参数)
借书时,借书日期为系统时间。
图书的是否借出改为‘是’
2、建立存储过程完成图书管理系统中的预约功能。
预约时要求输入预约流水号,借书证号,ISBN。(即该存储过程有3个输入参数)
存储过程先检查输入的ISBN版本的图书是否都已借出,如果是则进行预约,否则提示“该书目有可借图书,请查找”。
预约时间为系统时间。
3、建立存储过程完成图书管理系统中的还书功能。
还书时要求输入借书证号,图书编号,罚款分类号(即该存储过程有3个输入参数)。
还书日期为系统时间。
图书的是否借出改为‘否’。
借书时要求输入借阅流水号,借书证号,图书编号。(即该存储过程有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;
相关文章推荐
- 运用ORACLE的OO4O类库函数解决调用存储过程向远程数据库上传超过32K图片失败的问题
- 西南科技大学 Oracle 数据库实验1 建表
- 关于oracle中传过来的一个多id需要插入到数据库用,分格的存储过程
- [置顶] [实验-视频过程]oracle热备份-整个数据库-备份和恢复操作演示
- Asp.Net访问Oracle 数据库执行SQL语句和调用存储过程
- oracle数据库的存储过程
- 【Oracle】在存储过程里调用外部数据库
- Oracle中 关于数据库存储过程和存储函数的使用
- SQL SERVER 数据库通过连接服务器 调用ORACLE 数据库中的存储过程
- ORACLE ADF11g:AM 存储过程传入数据库对象数组
- Oracle 数据库存储过程学习笔记
- Oracle数据库开发之存储过程和自定义函数
- oracle 数据库不用了,改用SQL,要学SQL了,第一个手工写的存储过程
- Linq to Oracle 使用教程(七)将数据库的存储过程映射到方法
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- Oracle 数据库通用类,java调用存储过程。
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
- Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程