任务描述
1、 在图书管理数据库中创建一个存储过程P_IsLoan,在用户借书之前,判断该用户能否借书。用户借阅证号和借阅图书的书号作为输入参数,输出参数vflag为整数,有以下几种状态值:
(1)vflag为0,表示“该用户可以借阅此书”;
(2)vflag为1,表示此书已经预约或已经借出或不出借;
(3)vflag为2,表示此书不对该类用户出借,每种图书只对允许的用户类别出借(具体参见上方Books表的字段说明);
(4)vflag为3,表示“已达到借书上限”;
(5)vflag为4,表示“此用户存在超期未还图书”。

/*  1、   在图书管理数据库中创建一个存储过程P_IsLoan,在用户借书之前,判断该用户能否借书。用户借阅证号和借阅图书的书号作为输入参数,
输出参数vflag为整数,有以下几种状态值:(1)vflag为0,表示“该用户可以借阅此书”;(2)vflag为1,表示此书已经预约或已经借出或不出借;(3)vflag为2,表示此书不对该类用户出借,每种图书只对允许的用户类别出借(具体参见上方Books表的字段说明);(4)vflag为3,表示“已达到借书上限”;(5)vflag为4,表示“此用户存在超期未还图书”。*/use library;
DROP PROCEDURE IF EXISTS P_IsLoan;
delimiter //create procedure P_IsLoan(vloanno varchar(16),vbookno char(9),out vflag tinyint)
begin
######### Begin #########declare bstatus char(1);declare ctr_no tinyint;declare clNo tinyint;declare cnt tinyint;declare canBro tinyint;declare term tinyint;declare difday tinyint;    select Users.classNo into clNo from Users where loanNo = vloanno; select Class_User.term into term from Class_User where classNo = clNo;  select max(datediff(now(), borrowDate)) into difday from Loan where Loan.loanNo = vloanno;select ceilingNum into canBro from Class_User where Class_User.classNo = clNo;select count(*) into cnt from Loan where loanNo = vloanno;select Books.bstatus into bstatus from Books where vbookno = bookNo;select Books.ctr_no into ctr_no from Books where vbookno = bookNo; if bstatus = '0' then set vflag = 0; end if;if bstatus = '1' || bstatus = '2' then set vflag = 1; end if;if (ctr_no | clNo) != ctr_no then set vflag = 2;end if;    if difday > term then set vflag = 4;end if;if cnt >= canBro then set vflag = 3;end if;######### End #########
end//
delimiter ;

CTGU实验6_1-创建能否借书存储过程相关推荐

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

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

  2. java学习之借书系统

    实现的图书借阅系统要处理用户输入的非法参数,并引导用户正确使用 测试结果: 主要目的就是练习异常处理中的Exception类的使用 使用的相关语法 1 try{ 2 //可能产生异常的代码块 3 }c ...

  3. oracle语句借书,Oracle SQL题目及其解答(借书卡、图书、借书记录)

    题目来源于:http://blog.csdn.net/lifetragedy/article/details/10305735 /*下面是一个基于图书系统的15道SQL问答,供大家参考 问题描述: 本 ...

  4. Django 图书借书系统

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.Django是什么? 二.django安装 1.安装 2.需要的pip list 安装 三.django 建立图书 ...

  5. 数据库实验2 创建数据表修改数据表和删除数据表

    实验2 创建数据表修改数据表和删除数据表 实验类型:●验证性实验  ○综合性实验  ○设计性实验 实验目的:     (1)了解数据表的结构特点. (2)掌握表中列定义时所用到的各种数据类型. (3) ...

  6. mysql使用事务实现图书馆借书操作

    文章目录 一.实例 二. 相关表 1.创建表 2.插入表记录 三.事务处理 一.实例 使用事务,完成图书馆借阅图书的操作. 1.向借阅信息表插入借阅记录 2.更新图书信息表的库存 3.更新读者信息表的 ...

  7. 借书场景领域建模浅析

    关于借书场景的领域建模,我从以下几个方面进行分析: 分析模型静态结构 我分析一个领域模型的静态结构的思路一般是:先找出我们需要关心的对象,对于借书这个场景,我们关心的有: 1. Account(账号) ...

  8. ArcGIS基础实验操作100例--实验96创建地形剖面图

    本实验专栏参考自汤国安教授<地理信息系统基础实验操作100例>一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 空间分析篇--实验96 创建地形剖面图 目录 一.实 ...

  9. book类 借书 java_java学习之借书系统

    实现的图书借阅系统要处理用户输入的非法参数,并引导用户正确使用 测试结果: 主要目的就是练习异常处理中的Exception类的使用 使用的相关语法 1 try{2 //可能产生异常的代码块 3 }ca ...

  10. Android-UI 借书界面

    文章目录 案例说明 实现 案例视频 UI布局 UI效果 activity_main.xml文件代码 tostrings.xml文件代码 书本类和用户类的定义 书本类Book 用户类Person 功能实 ...

最新文章

  1. 算法设计与分析第5章 回溯法(二)【回溯法应用】
  2. python读取配置文件存在某配置_Python读取配置文件(config.ini)以及写入配置文件
  3. 计算字符串t在字符串s中出现的次数(KMP)
  4. 设计模式六:适配器模式
  5. JS调用打印机打印Web页面
  6. 判断大小简单算法_JVM GC算法
  7. 用iptables实现G1手机cmwap代理上http网站[转]
  8. 分析报告生产器使用问题
  9. 六维空间向量表示法公式笔记
  10. I210 网卡设定 force link mode 并关闭 EEE mode
  11. since作为连词引导时间状语从句的用法
  12. 2013,我的创业记忆片段
  13. 白泽六足机器人_ros_v1——单腿RVIZ仿真
  14. npm install --save 、--save-dev 、-D、-S的区别详细解说
  15. Java判断本周属于该年的第几周
  16. 第一章:电商及商品系统概述
  17. 机器视觉算法与应用读书笔记(算法)
  18. 两个向量之间的夹角公式_Python 计算任意两向量之间的夹角方法
  19. 怎么查看qq登陆记录
  20. java签到功能的实现_java实现的签到系统

热门文章

  1. 三星s8怎么分屏操作_一心三用 三星Galaxy Z Fold2 5G成多任务处理大师
  2. json csrf html5,Exploiting JSON CSRF
  3. redis通配符批量删除keys——del
  4. 简简单单批量安装windows主机
  5. 像“钢铁侠”埃隆·马斯克那样,成为超速学习者
  6. 那一只蝴蝶飞不过沧海
  7. 高通量测序领域常用名词解释
  8. 鼠标滚轮乱跳解决方法
  9. 三轴加速度传感器LIS3DH使用心得
  10. 2012第33周国内Android应用下载动态