一、实验目的
1、掌握存储过程的概念、优点、特点及用途;
2、掌握创建、执行、修改和删除存储过程的方法。
二、实验内容
(一)附加上次实验所创建的数据库“db_Library”,并回顾该库的数据表信息。
(二)练习创建和管理存储过程
1、创建一个名为“PROC_系部读者借阅信息”的无参存储过程,要求显示计算机系读者2014-1-1以后借阅的图书信息,包括“读者姓名”、 “图书编号”和“借阅日期”三个字段。
创建完成之后,执行上述存储过程,观察执行结果。
2、修改上述的存储过程为带参的存储过程,要求根据所提供的系部名称和时间,查询出该系部在该时间之后借阅了图书的读者信息,包括“读者姓名”、“图书编号”和“借阅日期”三个字段,并按照读者姓名升序排列,并将读者的总数作为输出参数返回。
创建完成之后,执行上述存储过程,观察执行结果。
3、创建一个名为“Proc_删除读者信息”的存储过程,要求根据所提供的读者编号,删除该编号所对应的读者,如果不存在此编号的读者,则显示“该编号的读者不存在!”。创建完成之后,执行上述存储过程,观察执行结果。
4、创建一个名为“Proc_修改借阅信息”的存储过程,要求根据所提供的读者编号和天数,将该读者的归还日期增加相应的天数,如果不存在该读者的借阅信息,则显示“该读者没有借阅图书!”。创建完成之后,执行上述存储过程,观察执行结果。
5、删除存储过程“Proc_修改借阅信息”。

三、实验步骤
1、创建一个名为“PROC_系部读者借阅信息”的无参存储过程,要求显示计算机系读者2014-1-1以后借阅的图书信息,包括“读者姓名”、“图书编号”和“借阅日期”三个字段。
创建完成之后,执行上述存储过程,观察执行结果。

执行结果:

2、修改上述的存储过程为带参的存储过程,要求根据所提供的系部名称和时间,查询出该系部在该时间之后借阅了图书的读者信息,包括“读者姓名”、“图书编号”和“借阅日期”三个字段,并按照读者姓名升序排列,并将读者的总数作为输出参数返回。
创建完成之后,执行上述存储过程,观察执行结果。

ALTER PROCEDURE PROC_系部读者借阅信息
@Dept char(12),@datetime date
AS
BEGIN
SELECT Rname'读者姓名',Bno'图书编号',Bodate'借阅日期'
FROM tb_borow,tb_reader
WHERE tb_borow.Rno=tb_reader.Rno AND tb_reader.Dept=@Dept AND Bodate>@datetime
END
EXEC PROC_系部读者借阅信息 '计算机系','2014-09-20'

执行结果:

3、创建一个名为“Proc_删除读者信息”的存储过程,要求根据所提供的读者编号,删除该编号所对应的读者,如果不存在此编号的读者,则显示“该编号的读者不存在!”。创建完成之后,执行上述存储过程,观察执行结果。

CREATE PROC Proc_删除读者信息
@Rno char(6)
AS
BEGIN
IF EXISTS(SELECT * FROM tb_reader WHERE tb_reader.Rno=@Rno)
DELETE
FROM tb_reader
WHERE tb_reader.Rno=@Rno
ELSE
Print'该编号读者不存在'
END
EXEC Proc_删除读者信息 R10099

执行结果:

4、创建一个名为“Proc_修改借阅信息”的存储过程,要求根据所提供的读者编号和天数,将该读者的归还日期增加相应的天数,如果不存在该读者的借阅信息,则显示“该读者没有借阅图书!”。创建完成之后,执行上述存储过程,观察执行结果。

CREATE PROCEDURE PROC_修改借阅信息
@Rno char(6),@days INT
AS
BEGIN
IF EXISTS(SELECT * FROM tb_borow WHERE tb_borow.Rno=@Rno)
UPDATE tb_borow
SET Rdate=DATEADD(d,@days,Rdate)
FROM tb_borow
WHERE tb_borow.Rno=@Rno
ELSE
PRINT'该读者没有借阅图书'
END

执行结果:

5、删除存储过程“Proc_修改借阅信息”。

DROP PROC PROC_修改借阅信息

四、实验总结
进一步熟悉sql语言,与之前知识建立联系,对知识了解更深刻。

本实验是学习中的记录,不足之出,望指出!!!

数据库编程——简单教程相关推荐

  1. qt4 连接mysql_Qt4访问mysql 数据库的简单教程

    编译问题: 1.系统中安装有VC,所以头文件冲突 手工修改makefile 删除所有-I 加载VC头文件的项目 2.mysql cannot find -llibmysql 指定libmysql.a的 ...

  2. 以太坊智能合约编程简单教程(全)

    有些人说以太坊太难对付,于是我们(译注:指Consensys, 下同)写了这篇文章来帮助大家学习如何利用以太坊编写智能合约和应用.这里所用到的工具,钱包,应用程序以及整个生态系统仍处于开发状态,它们将 ...

  3. 驱动编程简单教程——PTC512(ADC芯片驱动)为例

    1.简介 上几周硬件找了一个ADC芯片的替代料,需要我这边写一个驱动做测试.以前都是配置与修改设备树,最多查看或小改一下驱动,没有写过驱动,所有记录一下思路.大致思路就是先看原理图,再看芯片手册,知道 ...

  4. 【并行计算】OpenMP编程和MPI编程简单教程

    OpenMP.MPI Visual Studio Code author:zoxiii 并行编程 前提:安装gcc 一.OpenMP 1.介绍 2.实现一个例子 二.MPI 0.安装 安装 MPI S ...

  5. 数据库笔记整理--基于《数据库系统概论》第五版王珊一书|第八章--数据库编程知识整理和课后习题答案

    该系列的博客都是基于<数据库系统概论>第五版王珊一书 前提: 因为最近要升学的原因,再加上重温数据库部分内容,所以整理一份比较详细且重点的笔记.适合有考研升学需求的人收藏 -------- ...

  6. ASP.NET Core Identity 迁移数据 - ASP.NET Core 基础教程 - 简单教程,简单编程

    ASP.NET Core Identity 迁移数据 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core Identity 迁移数据 - ASP.NET C ...

  7. 【微信小程序系列】微信小程序超简单教程,基本语法,获取用户基本数据信息,实现对云数据库的增删改查及小程序外部api的引用示例(附源码)

    [微信小程序系列]微信小程序超简单教程 小程序项目结构 静态页面的构成 HTML:结构 css:样式 js:行为 小程序 页面全部存放在pages, 而且pages目录只能存放页面 页面包括4个文件, ...

  8. ASP.NET Core Razor 布局视图 - ASP.NET Core 基础教程 - 简单教程,简单编程

    ASP.NET Core Razor 布局视图 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core Razor 布局视图 - ASP.NET Core 基础 ...

  9. Delphi数据库编程教程(七)

    第四章  数据浏览和导航 第一节  设置和连接       欢迎来到免费DB Delphi教程的第四章!到现在为止,本教程以说明了怎样连接到Access数据库及怎样显示数据库表中的图形数据.在上一章我 ...

最新文章

  1. 深入理解计算机系统9个重点笔记
  2. shadowplay要下载java_Java并发程序设计(二)Java并行程序基础
  3. CentOS 6.9配置网卡IP/网关/DNS命令详细介绍及一些常用网络配置命令(转)
  4. Visual Studio 2017 15.8 正式发布,测试速度提高 82%
  5. python文件读取每一行操作
  6. 用恋爱常识来解释编程术语
  7. Linux 命令 (tar,权限,管道)
  8. 北漂的程序员们,这寒冬你是否“有枝可依”?
  9. esp ghost引导_ghost做uefi+gpt 需要什么cmd命令修复引导?
  10. HTML5详细介绍及使用
  11. 数据结构之二叉树深度计算
  12. 图像相似度比较之哈希算法
  13. Mac用命令行在访达中打开指定目录
  14. 思科计算机网络第五章考试,思科第一学期第五章试题和答案
  15. Springboot+vue 社团管理系统(前后端分离)
  16. C语言string中常用方法
  17. 为云主机申请配置免费的域名和证书
  18. [2019长沙长郡中学集训]加法
  19. Pico neo3最新版SDK导入Unity详细教程(包含眼动)
  20. 普歌-浅谈RabbitMQ

热门文章

  1. 配色那么差,还不‘哥屋恩’去看电影!
  2. 解释相机中的弥散现象
  3. 金山办公业绩增长的另一面:雷军等密集减持,还涉上亿元侵权诉讼
  4. 网易运营微专业 目录
  5. 26Play框架教程2学习笔记
  6. 基于蓝牙协议的无线网络化传感器设计
  7. MMD4Max(MMD4Maya)
  8. Ubuntu20.04 添加右键新建文件
  9. Ranked List Loss for Deep Metric Learning | 阅读笔记
  10. Java 独门绝技 用Java玩谷歌小恐龙游戏 (有源码)