任务描述
2.创建还书存储过程P_ReturnBook,输入参数为借阅证号和书号,在begin和end之间填入代码。调用系统为我们创建好的函数Count_voverdue返回所借图书的超期天数(未超期返回值为0)。若超期天数大于0,则按照每天0。1元计算出罚款金额,并往Money表中添加一条罚款信息,罚款原因为“过期罚款”

/*2.创建还书存储过程P_ReturnBook,输入参数为借阅证号和书号,在begin和end之间填入代码,完成以下功能。
(1)调用系统为我们创建好的函数Count_voverdue。该函数有两个输入参数,第一个参数为借阅证号,第二个参数为图书的书号。返回所借图书的超期天数(未超期返回值为0),
若超期天数大于0,则按照每天0.1元计算出罚款金额,并往Money表中添加一条罚款信息,罚款原因为“过期罚款”。
(2)删除Loan表中相关借阅记录;
(3)并往LoanHist中写入一条还书记录的信息。
(4)将所归还图书的状态bstatus修改为0(代表可借阅)*/use library;
drop procedure if exists P_ReturnBook;
delimiter //
create procedure P_ReturnBook(vloanno varchar(16),vbookno char(9))
BEGIN
######### Begin #########
declare cnt tinyint;
declare borDate datetime;
select borrowDate into borDate from Loan where bookNo = vbookno and loanNo = vloanno;
set cnt = Count_voverdue(vloanno, vbookno);
-- select cnt;
if cnt > 0
then
insert Money(loanNo, bookNo, amount, reason, billdate) values(vloanno, vbookno, cnt * 0.1, "过期罚款", now());
end if;
delete from Loan where loanNo = vloanno and bookNo = vbookno;
insert LoanHist(loanNo, bookNo, borrowDate, returnDate) values (vloanno, vbookno, borDate, now());
update Books set bstatus = '0' where Books.bookNo = vbookno;
######### End ##########
END//
delimiter ;

CTGU实验6_2-创建还书存储过程相关推荐

  1. MySQL实验七创建存储过程和函数

    这里写自定义目录标题 一 实验目的 二 实验平台 三 实验内容和要求 3.1 创建存储过程 3.2 查看存储过程 3.3 修改存储过程 3.4 删除存储过程 3.5 创建函数 3.6 查看函数 3.7 ...

  2. 数据库实验系列之3存储过程和触发器实验(存储过程和触发器)

    存储过程和触发器实验(存储过程和触发器) 实验9:存储过程实验 实验10:触发器实验 本文最初由security9968发布于security9968的csdn博客,禁止任何形式的剽窃行为 转载原创文 ...

  3. 数据库系统实验8 SQL语言-存储过程基本操作

    数据库实验8 SQL语言-存储过程基本操作 一.实验环境: ​ MYSQL WORKBENCH 二.实验内容与完成情况: (逐题给出相应的SQL语句及执行结果,SQL语句必须能够拷贝,实验结果可截图: ...

  4. 数据库原理实验五——触发器与存储过程(函数)

    实验目的 熟练掌握存储过程/函数的创建和执行方法. 熟练掌握触发器的创建和执行方法. 实验内容 针对SPJ_MNG数据库,创建并执行如下存储过程.(共计40分) (1) 创建一个没有参数的存储过程-j ...

  5. MYSQL学习与数据库综合实验(八)——存储过程实验

    8.存储过程实验 8.1存储过程定义 存储过程是一组为了完成特定功能的 SQL 语句集合.使用存储过程的目的是将常用或复杂的工作预先用 SQL 语句写好并用一个指定名称存储起来,这个过程经编译和优化后 ...

  6. mysql的实验环境_第04 章 MYSQL实验环境创建

    第04 章 MYSQL实验环境创建 一.下载MY https://dev.mysql.com/downloads/file/?id=476476 1.1 Oracle http://www.oracl ...

  7. SQL Server 2005中创建CLR存储过程

    在2005之前的版本创建存储过程都是在数据库里面写Transact-SQL语言实现的,不过现在SQL Server 2005支持用其他面向对象的语言编写CLR存储过程了,关于这样做的好处,官方有很多解 ...

  8. 创建一个存储过程,返回指定员工的姓名和薪水

    /* 创建一个存储过程,返回指定员工的姓名和薪水 */ create or replace PROCEDURE queryEmp1(eno in number,empname out VARCHAR2 ...

  9. MySql创建一个存储过程

    MySQL 存储过程是从 MySQL 5.0 新功能.存储过程的长处有一箩筐.只是最基本的还是运行效率和SQL 代码封装. 特别是 SQL 代码封装功能,假设没有存储过程,在外部程序訪问数据库时(比如 ...

  10. oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包

    认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块.但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命 ...

最新文章

  1. CVX约束中定义中间变量或表达式
  2. 在envi做随机森林_随机森林原理
  3. KMP算法的nextval[] 即优化next[]
  4. java 几种类_Java 中有几种类型的流?
  5. CoffeeScript简介 一
  6. java基础----Serializable的使用---- http://www.cnblogs.com/huhx/p/serializable.html
  7. 数字电子技术基础阎石老师第五版课后习题解答-很抱歉,其实才写了两道题,大家不要误点进来耽误时间了。但是开始写了又不想删掉,希望日后能补起来吧。
  8. 用计算机为题目写作400字,电脑课作文400字
  9. python的list的基本操作、list循环、切片、字典基本操作、字典嵌套、字符串常用方法...
  10. 计算机2进制、4进制、8进制、10进制、16进制、32进制计算规则
  11. boost::heap::binomial_heap用法的测试程序
  12. docker网络原理及cgroup
  13. 学渣的刷题之旅 leetcode刷题 26. 删除排序数组中的重复项
  14. C语音实现简单的密码登录(简单逻辑)
  15. linux 网卡gso,linux内核网络协议栈学习笔记:关于GRO/GSO/LRO/TSO等patch的分析和测试...
  16. 2021-2027全球与中国电动垂直起降(eVTOL)飞行器基础设施市场现状及未来发展趋势
  17. biopython中文指南_Biopython的列表和限制类型
  18. 百度云主机只能访问首页,bcloud_nginx_user.conf配置
  19. [附源码]Python计算机毕业设计广东理工学院大学生社团管理系统Django(程序+LW)
  20. python数据分析要求高性能计算机_Python数据分析初体验,需要解答的三大问题!...

热门文章

  1. 客户想要 VS 客户预算
  2. 程序员的那些搞笑牛逼注释
  3. 数据库基础知识【 1 】
  4. vue+element 压缩上传图片
  5. vue视频通话(Agora声网)
  6. windows 无法停止ics_多种方法解决Win10系统ICS服务启动后停止问题
  7. Lotka–Volterra equation Competitive Lotka–Volterra equations
  8. [GIS原理] 9.1 数字高程模型DEM-特征 | 分类 | 构建 | 数据结构 | 空间内插 | DEM的未来
  9. 超长攻略,机器学习基石!带你涉足王者之巅
  10. 靶子环数图片_一种靶子环数的图像识别方法与流程