数据库编程——简单教程

article/2025/9/20 15:28:26

一、实验目的
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语言,与之前知识建立联系,对知识了解更深刻。

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


http://chatgpt.dhexx.cn/article/xDMnKmM6.shtml

相关文章

数据库基础编程

连接mysql在黑窗口 mysql -u root -p #登录MySQL SQL语句分类 数据库操作 创建数据库 create database [if not exists] db_name; 1.character set :指定数据库采用的字符集,如果不指定字符集,默认utf8 2,collate:指定数据库…

数据库编程

数据库编程 T-SQL编程基础知识 标识符 标识符分类 常规标识符(严格遵守标识符格式规则) 界定标识符(引号”或方括号[])标识符格式规则 字母或_、、#开头的字母数字或_、、$序列 不与保留字相同 长度小于128 不符合规…

数据库编程之ODBC编程

ODBC优点 移植性好 能同时访问不同的数据库 共享多个数据资源 ODBC概述 ODBC产生的原因 由于不同的数据库管理系统的存在,在某个关系数据库管理系统下编写的应用程序就不能在另一个关系数据库管理系统下运行 许多应用程序需要共享多个部门的数据资源&#xff0c…

第8章 数据库编程

文章目录 ❖第一节 T-SQL编程基础标识符注释语句表达式SET、SELECT区别 流程控制语句选择结构❖IF ELSECASE语句搜索式CASE语句 循环结构等待语句返回语句 系统函数标量函数日期和时间函数字符串函数 数据类型转换函数 ❖第二节 游标(重点)1. 声明游标2.…

teredo实现ipv4公网环境下接入ipv6

teredo实现ipv4公网环境下接入ipv6 系统:macOS High Sierra 10.13.3 测试成功 软件下载 下载安装Miredo http://www.deepdarc.com/miredo-osx-prerelease2.pkg.zip 项目github地址:https://github.com/darconeous/miredo-osx下载安装tuntaposx http…

Tornado简介

Tornado龙卷风是一个开源的网络服务器框架,它是基于社交聚合网站FriendFeed的实时信息服务开发而来的 Tornado是使用Python编写的Web服务器兼Web应用框架与主流Web服务器框架不同的是,Tornado是异步非阻塞式服务器,得益于非阻塞式和对epoll模…

【小白教程】win10系统如何开启ipv6

Teredo 是一种网络协议,用于在客户端和服务器之间建立安全通信,并且在使用网络地址转换 (NAT) 的路由器后增强设备之间的连接。 #####以下代码均在cmd窗口运行###### 一、设置Teredo 服务器 1、设置Teredo 服务器 netsh interface teredo set state …

Teredo Tunnel Adapter: Error Code 10

Teredo Tunneling 该设备无法启动 错误代码 ErrCode:10 解决方法 前文: Win7 系统,打算开启IPV6,本地连接的网络 ip6 驱动是异常的,先重新安装了网卡驱动。 过程: 几次尝试之后,还是无法启动,…

地平线不能多人联机解决方法

玩地平线4时可能会出现无法连接多人网络问题,在Xbox网络中出现Teredo不合格的问题。 解决方案: 按WinR输入gpedit.msc打开组策略编辑器,依次选择管理模块、网络、TCPIP设置、IPv6转换技术。双击设置6to4状态,点已启用&#xff0c…

微软的teredo服务器,win10系统通过teredo连接ipv6的操作方法

win10系统通过teredo连接ipv6的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统通过teredo连接ipv6的的现象,根据小编的调查并不是所有的朋友都知道win10系统通过teredo连接ipv6的的问题怎么解决,不会的朋友也不用担心&#xff0c…

TCP/IP卷一:55---UDP之(UDP与IPv6、Teredo)

前一篇文章(https://blog.csdn.net/qq_41453285/article/details/103984794)对UDP和UDP数据报、UDP校验和做了简单的介绍,本片文章介绍一些UDP与IPv6有关的知识 一、IPv6下的UDP 考虑到简单性,在对IPv6而非IPv4进行操作时&#…

miredo - Teredo IPv6 tunneling for Unix

世界 IPv6 日:2011年6月8日 Test your IPv6:http://test-ipv6.com 安装miredo sudo apt-get install miredo 编辑miredo配置文件,加入teredo 的公共服务器地址,如ServerAddress teredo-debian.remlab.net sudo gedit /etc…

teredo 未能解析服务器名,Win10系统Xboxlive显示Teredo无法进行限定怎么解决

有的朋友会在windows10电脑上用Xbox live游玩游戏,但是碰到Xbox live设置显示Teredo无法进行限定,这时候我们该怎么办呢,下面由小编给大家介绍如何解决win10系统Xbox live显示Teredo无法进行限定。 具体步骤如下: 1.按下键盘上的&…

报PING:传输失败。常见故障.connect:network is unreachable“的解决方案-IPv6无法ssh连接的解决方案。

vultr当前2.5美金的vps只有IPv6,很多使用者无法正常使用ssh连接等,报PING:传输失败。常见故障。connect:network is unreachable 很多使用者不知所措,笔者也是一脸懵逼,经过一番研究之后,发现了…

微软的teredo服务器,win10系统通过teredo连接ipv6的具体教程

有关win10系统通过teredo连接ipv6的操作方法想必大家有所耳闻。但是能够对win10系统通过teredo连接ipv6进行实际操作的人却不多。其实解决win10系统通过teredo连接ipv6的问题也不是难事,小编这里提示两点:1、在“开始”里输入“cmd”,右击&am…

Win11地平线4 Xbox live无法登录?或者地平线4无法使用在线模式?尝试一波!!!

全是抄袭,只做整理,希望帮到大家,啥也不懂!但是!我就是这样弄好的 侵权 联系 我 就下架,但是只是想让大家可以解决问题 以下是我参照的文章: XBOX NAT类型:Teredo不合格解决方案 - 知乎 (zhi…

Win7使用teredo连接IPv6的方法

(1) 在 ” 开始 ”->” 运行 ” 中输入 cmd 打开 Windows 命令行。在命令行中输入 ipconfig /all ,会出现若干网络配置信息,找到 Tunnel adpter (隧道适配器) Teredo Tunneling Pseudo-Interface , 查看它是否有正确…

关于Win10用户地平线线上连接xbox live失败问题

问题描述 游玩地平线系列游戏时,无法进入线上游戏游玩更多游戏内容,且无法与朋友联机,问题未知,并且更改加速器节点也没有用。本解决方案针对Win10的小伙伴,Win11的小伙伴可以参考一下。 解决方案 主要是解决xbox网络…

关于解决NAT 类型显示“Teredo 无法获得资格”的一个案例

在试过了网上很多的方法之后,发现依旧解决不了,最后发现了xbox官方的一个解决方法并且成功。(这个是在完成了网上众多方法的前提下才解决的) 链接:Xbox Support。 其中我估计解决方案2到5就是网上众多的解决方法,由于本…

teredo报文格式

teredo报文是一项 IPv6 / IPv4 过渡技术,为能够通过 IPv4 NAT, IPv6 数据包作为基于 IPv4 的用户数据包协议(UDP) 消息发送出去。 格式如下: 注意,外层为V4报文,内层为V6报文,V4报文后的UDP报文的目的端口…