文档章节

西南科技大学 Oracle 数据库实验3 存储过程

碳素云信息技术
 碳素云信息技术
发布于 2013/06/03 18:11
字数 597
阅读 244
收藏 1

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;


© 著作权归作者所有

碳素云信息技术

碳素云信息技术

粉丝 14
博文 31
码字总数 11484
作品 0
绵阳
后端工程师
私信 提问
UFT入门教程(5)—自定义检查点及模块化

综合练习二 知识点 自定义检查点 模块化脚本(将action分为多个sub,再将函数添加到函数库,然后关联函数库) 要求 测试工具:UFT 被测网站:西科大教务处 内容:覆盖知识点,测试教务处登录...

iBazinga
2016/09/18
180
0
怎样成长为一个真正的Oracle DBA (转载)

Oracle分两大块,一块是开发,一块是管理。 开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比...

y862318
2014/05/14
0
0
我的简历,大家帮忙看看,欢迎大家提建议

求职意向 c/c++程序员(网络开发) 个人信息 姓名:**** 性别:男 出生年月:1989.10 学历:本科 专业:信息系统与信息管理 毕业学校:西北农林科技大学 电话:153 1948 **** 电子邮箱:dwl...

谈秦论晋
2011/08/20
1K
23
2014年,什么工作最吃香?数据存储架构师!

大会介绍: 2014年,什么工作最吃香?数据存储架构师! 无论是Oracle还是MySQL数据库,还是百度、腾讯、阿里巴巴,现在都需要闪存(如SSD固态盘)来优化数据存储架构,1、2年内你的企业也必然...

向南是大海
2014/10/11
0
0
2014年,什么工作最吃香?数据存储架构师!

大会介绍: 2014年,什么工作最吃香?数据存储架构师! 无论是Oracle还是MySQL数据库,还是百度、腾讯、阿里巴巴,现在都需要闪存(如SSD固态盘)来优化数据存储架构,1、2年内你的企业也必然...

向南是大海
2014/10/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 调查人员问狗 那你在做什么啊?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐:《Let It Be》- John Denver 《Let It Be》- John Denver 手机党少年们想听歌,请使劲儿戳(这里) @FalconChen :每天看一遍,...

小小编辑
今天
6
0
高效程序员的45个习惯总结版-文末脑图

1 做事 一个重大的错误应该被当做一次学习而不是指责他人的机会,团队成员一起工作,应该互相帮助,而不是互相指责 2 欲速则不达 不要为了修复问题而去修复,要投入时间和精力保持代码整洁 ...

阿提说说
今天
18
0
带南海九段线分位数地图可视化(R语言版)

今天带来一篇承诺虾神的可视化博客。内容是使用R语言进行带南海九段线分位数地图可视化。虾神的原博文地址如下(Python版)。 Python实现带南海九段线分位数地图完整可视化版本(附代码及数据...

胖胖雕
今天
12
0
Nginx 的进程结构,你明白吗?

Nginx 进程结构 这篇文章我们来看下 Nginx 的进程结构,Nginx 其实有两种进程结构: 单进程结构 多进程结构 单进程结构实际上不适用于生产环境,只适合我们做开发调试使用。因为在生产环境中...

武培轩
今天
20
0
蓝鲸平台部署

环境 系统:Centos7 依赖包:java8 主机: 10.0.1.150 域名:paas.ops.net;cmdb.ops.net;job.ops.net 生成SSH key ssh-keygen -t rsa -P '' 生成证书 https://bk.tencent.com/download_ssl/......

以谁为师
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部