数据库编程——简单教程
一、实验目的
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语言,与之前知识建立联系,对知识了解更深刻。
本实验是学习中的记录,不足之出,望指出!!!
数据库编程——简单教程相关推荐
- qt4 连接mysql_Qt4访问mysql 数据库的简单教程
编译问题: 1.系统中安装有VC,所以头文件冲突 手工修改makefile 删除所有-I 加载VC头文件的项目 2.mysql cannot find -llibmysql 指定libmysql.a的 ...
- 以太坊智能合约编程简单教程(全)
有些人说以太坊太难对付,于是我们(译注:指Consensys, 下同)写了这篇文章来帮助大家学习如何利用以太坊编写智能合约和应用.这里所用到的工具,钱包,应用程序以及整个生态系统仍处于开发状态,它们将 ...
- 驱动编程简单教程——PTC512(ADC芯片驱动)为例
1.简介 上几周硬件找了一个ADC芯片的替代料,需要我这边写一个驱动做测试.以前都是配置与修改设备树,最多查看或小改一下驱动,没有写过驱动,所有记录一下思路.大致思路就是先看原理图,再看芯片手册,知道 ...
- 【并行计算】OpenMP编程和MPI编程简单教程
OpenMP.MPI Visual Studio Code author:zoxiii 并行编程 前提:安装gcc 一.OpenMP 1.介绍 2.实现一个例子 二.MPI 0.安装 安装 MPI S ...
- 数据库笔记整理--基于《数据库系统概论》第五版王珊一书|第八章--数据库编程知识整理和课后习题答案
该系列的博客都是基于<数据库系统概论>第五版王珊一书 前提: 因为最近要升学的原因,再加上重温数据库部分内容,所以整理一份比较详细且重点的笔记.适合有考研升学需求的人收藏 -------- ...
- ASP.NET Core Identity 迁移数据 - ASP.NET Core 基础教程 - 简单教程,简单编程
ASP.NET Core Identity 迁移数据 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core Identity 迁移数据 - ASP.NET C ...
- 【微信小程序系列】微信小程序超简单教程,基本语法,获取用户基本数据信息,实现对云数据库的增删改查及小程序外部api的引用示例(附源码)
[微信小程序系列]微信小程序超简单教程 小程序项目结构 静态页面的构成 HTML:结构 css:样式 js:行为 小程序 页面全部存放在pages, 而且pages目录只能存放页面 页面包括4个文件, ...
- ASP.NET Core Razor 布局视图 - ASP.NET Core 基础教程 - 简单教程,简单编程
ASP.NET Core Razor 布局视图 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core Razor 布局视图 - ASP.NET Core 基础 ...
- Delphi数据库编程教程(七)
第四章 数据浏览和导航 第一节 设置和连接 欢迎来到免费DB Delphi教程的第四章!到现在为止,本教程以说明了怎样连接到Access数据库及怎样显示数据库表中的图形数据.在上一章我 ...
最新文章
- 深入理解计算机系统9个重点笔记
- shadowplay要下载java_Java并发程序设计(二)Java并行程序基础
- CentOS 6.9配置网卡IP/网关/DNS命令详细介绍及一些常用网络配置命令(转)
- Visual Studio 2017 15.8 正式发布,测试速度提高 82%
- python文件读取每一行操作
- 用恋爱常识来解释编程术语
- Linux 命令 (tar,权限,管道)
- 北漂的程序员们,这寒冬你是否“有枝可依”?
- esp ghost引导_ghost做uefi+gpt 需要什么cmd命令修复引导?
- HTML5详细介绍及使用
- 数据结构之二叉树深度计算
- 图像相似度比较之哈希算法
- Mac用命令行在访达中打开指定目录
- 思科计算机网络第五章考试,思科第一学期第五章试题和答案
- Springboot+vue 社团管理系统(前后端分离)
- C语言string中常用方法
- 为云主机申请配置免费的域名和证书
- [2019长沙长郡中学集训]加法
- Pico neo3最新版SDK导入Unity详细教程(包含眼动)
- 普歌-浅谈RabbitMQ