第五章课后习题(以及存储过程习题)

SQL存储过程试题及答案 SQL存储过程试题及答案,很经典,很详细,很具体! 立即下载

 
  开心的打开SQL Server,结果弹出来下面提示信息,我以为是我打开的姿势不对enmmm,于是乎又打开啦一遍,好家伙,不出所料,还是这样,我可真是太开心啦。
在这里插入图片描述
裂开,数据库连不上啦,能怎么办那,我还能怎么办呐,哎!!!那就让百度来救救孩子吧

在这里插入图片描述
原来是启动这个就好啦。哎。

  下面开始做题吧,一共有两道题,第五章一道题,第八章一道题,第五章还好,就是对两个表进行定义,用SQL语句创建,第八章涉及到储存过程的创建,有点小难。

  第五章章主要是讲啦与完整性定义和触发器的SQL语句。
在这里插入图片描述
直接看SQL语句吧,这个也不是很难,如下:

create table Dept
		(Deptno char(15),
		 Deptname char(20),
		 Manager char(10),
		 PhoneNumber char(12),
		 constraint PK_SC primary key (Deptno)
		 );
create table EMP
		(Empno char(15) primary key,
		 Ename char(10),
		 Age int,
		 constraint C1 check(Age<=60 and Age>0),
		 Job char(9),
		 Sal float,
		 Deptno char(15),
		 constraint FK_DEPTNO
		 foreign key(Deptno)
		 references Dept(Deptno)
		);

  也可以直接在列后面直接写上对应的列级完整性约束条件,也可以通过完整性约束命名子句定义。

  第八章是存储过程和函数的定义和使用,这一块是比较难的。
在这里插入图片描述
好在之前做过相关的例题,感觉不是那么糟糕!

  我们之前建立的没有离散数学这个课,我们可以往里面SC表插入相关的信息,并且在Course表也插入相关的信息,重点不是这个,是建立存储过程,建立完,先查询其他已有的课程试试。

存储过程:

create procedure Proc_GetStatus
@Cname char(9)
as
begin
	declare 
	@less60 int,@more60less70 int,
	@more70less80 int,
	@more80less90 int,
	@more90 int,
	@Cno char(5),
	@cnt int
	select @Cno=Cno from Course      --选择出想选课程名的课程号,存在@Cno里面,用于后面select的选择语句
		where Cname=@Cname
	select @cnt=count(*) from SC    
		where Cno=@Cno;
	if @cnt=0                  --先判断是否有人选课
	begin
		print '没有学生选这个课'
		rollback
		return ;
	end 
	--开始挑选
	select @less60 = count(*)
			from SC
			where SC.Cno=@Cno and SC.Grade<60;
	select @more60less70 = count(*)
			from SC
			where SC.Cno=@Cno and SC.Grade>=60 and SC.Grade<70;
	select @more70less80 = count(*)
			from SC
			where SC.Cno=@Cno and SC.Grade>=70 and SC.Grade<80;
	select @more80less90 = count(*)
			from SC
			where SC.Cno=@Cno and SC.Grade>=80 and SC.Grade<90;
	select @more90 = count(*)
			from SC
			where SC.Cno=@Cno and SC.Grade>=90;
	--输出:
	print'[0,60):  'print @less60
	print'[60,70):  'print @more60less70
	print'[70,80):  'print @more70less80
	print'[80,90):  'print @more80less90
	print'[90,100]: 'print @more90
end;

测试一下:

exec Proc_GetStatus
		@Cname='数据库';

在这里插入图片描述

exec Proc_GetStatus
		@Cname='数学';

在这里插入图片描述
通过查看SC和Course表,结果是正确的,nice!!!

 
(2)统计任意一门课的平均成绩

首先,我们也是建立存储过程,如下:

if(exists (select * from sys.objects where name='Proc_GetAvgGrade'))
	drop procedure Proc_GetAvgGrade
go

create procedure Proc_GetAvgGrade
@Cname char(9)
as
begin transaction trans
	declare
	@Cno varchar(20),
	@Avg int
	select @Cno=Cno from Course where Cname=@Cname;
	if @Cno is null
	begin 
		print '这门课不存在'
		rollback;
		return ;
	end;
	select @Avg=avg(Grade) from SC where Cno=@Cno;
	print @Cname + '平均分'+ convert(varchar,@Avg)
    commit;
return ;

检测一下:

exec Proc_GetAvgGrade
     @Cname ='信息系统';
     
exec Proc_GetAvgGrade
     @Cname ='数据库';

在这里插入图片描述
通过查看表也是正确的。
 
(3)将学生选课成绩从百分制改为等级制

alter table SC 
add Level char(2); --给原先的SC表增加一列

if(exists (select * from sys.objects where name='Get_Level'))
	drop procedure Get_Level
go
create procedure Get_Level
as
	update SC set Level='A' where Grade>=90 and Grade<=100;
	update SC set Level='B' where Grade>=80 and Grade<90;
	update SC set Level='C' where Grade>=70 and Grade<80;
	update SC set Level='D' where Grade>=60 and Grade<70;
	update SC set Level='E' where Grade<60;

exec Get_Level --执行以下该存储过程

select *    --最后查询一下
from SC;

测试结果如下:
在这里插入图片描述 
总结:

  相对来说,存储过程这一块还是有点小困难的,结合老师上课讲的和自己从百度上看的资料,还是可以看懂和理解的。不过刚开始出现的那个问题还是很突然的,幸好解决啦。

SAP-FICO LSMW实战:批量导入财务凭证与固定资产主数据(AS91)的完整指南 本文详细介绍了SAP-FICO中LSMW工具在批量导入财务凭证与固定资产主数据(AS91)的完整流程与实战技巧。从基础概念、环境准备到财务凭证导入全流程,特别针对AS91历史资产导入的日期逻辑和关键字段映射提供了专项指南,并分享了常见错误排查与性能优化建议,帮助用户高效完成SAP数据迁移任务。 阅读详情

相关推荐

从拆解到调试:用CS5523改造旧款车载显示屏的完整记录(MIPI转eDP方案)

本文详细记录了使用CS5523芯片将旧款车载显示屏从MIPI接口改造为eDP驱动的完整过程。通过对比LT8911等芯片,选择CS5523实现低功耗、高兼容性的显示升级,涵盖硬件改造、固件配置及调试技巧,最终成功提升显示效果200%。

web99的专栏 344

数据库第5章作业(附存储过程)

哈工好好

xxxibgdrgn博客 5631

zabbix5+dify+ollama+deepseek+企业微信 本地部署实现故障智能分析

zabbix5告警信息deepseek自动分析

slc14211421的专栏 3070

数据库系统头歌实验七 数据库编程

(注意要考虑零件数量)注意存储过程的输入参数为供应商代码、供应商名称、城市名称。第6关:定义一个名为PROC_JSEARCH的有参数存储过程,当任意输入一个工程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME)以及工程的名称(JNAME),结果先按供应商名称升序排序,再按零件名称升序排序。供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,标识某供应商 供应某种零件 给某工程项目的数量为QTY。

m0_53227534的博客 4019

【RT-Thread】从零到一:RT-Thread Studio工程创建与程序下载全流程实战

本文详细介绍了RT-Thread Studio开发环境的安装与使用,从工程创建到程序下载的全流程实战指南。通过具体案例演示了如何在STM32平台上快速开发RT-Thread应用,包括时钟配置、内存优化、构建调试等关键技巧,帮助开发者高效完成嵌入式系统开发。

weixin_30336061的博客 541

【胡学长 带你学 Global Mapper 】如何将影像地图转换为国家2000坐标系

多部门联合开展工作坐标数据不匹配怎么办?Hi,我是胡学长!今天教大家如何利用Global Mapper将谷歌影像数据转换为国家2000坐标系影像数据 。

一起来交流学习吧 1万+

MySQL数据库实验五 触发器和存储过程

MySQL数据库实验五 触发器和存储过程

Code_流苏:在代码中寻诗意,在实践中觅真知 2412

保姆级教程:手把手教你用记事本修改DNF私服PVF,打造毕业级自定义装备

本文提供了一份详细的DNF私服PVF文件修改教程,教你如何使用记事本轻松打造毕业级自定义装备。从PVF文件结构解析到基础属性修改,再到高级特效设置,手把手教你实现装备属性的全方位定制,无需编程基础即可完成。

weixin_42525385的博客 1190

MySQL存储过程的创建与管理(实验七)

提示:数据库任然使用xkgl脚本文件.sql 1、创建存储过程p_AvgGrade1,查询出每门课程的平均成绩。 代码: delimiter $$ create procedure p_AvgGrade1() reads sql data begin select course.CourseName,avg(grade.Grade) from course left join grade on ...

weixin_44949228的博客 1万+

Python爬虫实战:构建药监局药品批准信息本地查询系统

在医药信息化时代,药品批准信息的快速查询对于医药从业者、研究人员和普通消费者都具有重要意义。国家药品监督管理局(NMPA)提供了官方的药品查询系统,但有时我们需要建立本地数据库以便批量分析或离线查询。本文将详细介绍如何使用Python爬虫技术,结合最新的异步爬虫框架和技术栈,构建一个完整的药监局药品信息本地查询系统。本系统将实现以下功能:自动化爬取药监局官网的药品批准信息数据清洗和结构化存储建立本地查询接口数据定期更新机制pythonimport os"""药品类型枚举"""

2201_76125261的博客 726

YOLOv11【第二章:核心模块进阶篇·第3节】LDConv线性可变形卷积改进YOLOv11!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 7438

使用Java连接MySQL8.0并调用存储过程和函数

使用Java连接MySQL8.0并调用存储过程和函数 参考网站 Java连接MySQL,调用存储过程和函数 https://blog.youkuaiyun.com/qq_43521551/article/details/107097112 MySQL自定义函数 https://www.cnblogs.com/progor/p/8871480.html 2.1 对学生课程数据库,编写存储过程,完成下面功能: 1)统计离散数学的成绩分布情况,即按照各分数段统计人数; 2)统计任意一门课的平均成绩。 3)将学生选课

qq_50963067的博客 3209

北斗导航 | ILS(仪表着陆系统)、MLS(微波着陆系统)和GBAS(地基增强系统)的性能对比

最 早 的 GBAS 系 统 是 **局 域 增 强 系 统(LAAS)**,它是 1990 年由美国 Honeywell 公司 和 NASA 共 同 完 成 的 差 分 GPS(DGPS)演 变 而 来 的。1998 年,LAAS 被 ICAO 采 纳为 GBAS。2009 年 9 月 3 日 Honeywell 公 司 的GBAS 系统通过了 **CAT-I 精密进近着陆系统**的设计认证 ,而 **CAT-II 和 CAT-III 系统的研发和验证工作也正在有序的进行中**

尘世冰封的专栏 3983

数据库系统概论 第五章课后习题(部分)+ 存储过程习题

本文是《数据库系统概论》的第五章(数据库完整性)的部分课后习题和存储过程习题,题目来源:【2019-2020春学期】数据库作业14:第五章: 数据库完整性 习题 + 存储过程 ????共有两题数据库完整性习题6存储过程习题2 数据库完整性习题6 假设有下面两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码: 部门(部门号,名称,经理名,电话),其中部门号为主码。 用SQL...

Henry_626的博客 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

mysql教材第五章课后题答案_mysql数据库武洪萍版第五章习题与答案.doc

mysql数据库武洪萍版第五章习题与答案.doc 第五章1.选择题1下列关于SQL语言索引(INDEX)的叙述中,哪一条是不正确的(C)。A索引是外模式B一个基本表上可以创建多个索引C索引可以加快查询的执行速度D系统在存取数据时会自动选择合适的索引作为存取路径2为了提高特定查询的速度,对SC(S,C,DEGREE关系创建唯一性索引,应该创建在哪一个属性(组)上(A)A(S,CBS,DEGREECC...

weixin_32559261的博客 1812

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数据库第五章 数据库完整性(+存储过程) 课后题

--6 CREATE TABLE Employee( Eno CHAR(9) PRIMARY KEY, Name CHAR(5), Age SMALLINT CHECK(Age <= 60), Etitle CHAR(20), Salary INT, Dno CHAR(9), FOREIGN KEY (Dno) REFERENCES Department(Dno) ); CREATE TABLE Department( Dno CHAR(9) PRIMARY KEY, Dna...

ChrisKevin0221的博客 314

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

mysql数据库武洪萍版答案_mysql数据库武洪萍版第五章习题与答案

mysql数据库武洪萍版第五章习题与答案 第五章 1. 选择题 1. 下列关于SQL语言索引(Index)的叙述中,哪一条是不正确的(C)。 A. 索引是外模式 B. 一个基本表上可以创建多个索引 C. 索引可以加快查询的执行速度 D. 系统在存取数据时会自动选择合适的索引作为存取路径 2. 为了提高特定查询的速度,对SC(S#,C#,DEGREE)关系创建唯一性索引,应该创建在哪一个属性(组)上...

weixin_30845893的博客 1206

第五章 存储过程

MySQL数据库 第五章 存储过程 一、什么是存储过程 1、存储过程(Stored Procedure) (1)一组为了完成特定功能的 SQL 语句集 (2)它存储在数据库中,一次编译后永久有效 (3)通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它 2、存储过程的优缺点 优点: (1)存储过程可封装,并隐藏复杂的商业逻辑 (2)存储过程可以回传值,并可以接受参数 (3)存储过程无法使用 SELECT 指令来运行,因为它是子程序,与查看表,数据表或用户定义函数不同 (4)存储过程可以用

yrxfight的博客 944

【MySql】第五章(存储函数与存储过程)习题

【MySql】第五章(存储函数与存储过程)习题

她是不会无条件的!! 894

【4/1-14】第五章习题+第八章存储过程

1.假设有下面两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号), 其中职工号为主码; 部门(部门号,名称,经理名,电话),其中部门号为主码。 用 SQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义: (1)定义每个模式的主码;(2)定义参照完整性;(3)定义职工年龄不得超过60岁 Staff(Sno,Sname,Sage,Post,Pay,Dno) Dept(D...

summer__kkkk的博客 7135

第五章课后习题

做第二道题有些吃力,参考了同学的才有些思路,还需要对数据库的存储过程有更深刻的认识

LIUYARU111的博客 393

SQL Server——从入门到放弃(11)-- 第五章: 数据库完整性 习题 + 存储过程

没想到啊,都已经到11了???? 今天的内容是第五章的课后习题,以及第八章存储过程的一部分习题。 (PS:在这是废话,题目都说了????) 好了,现在开始练习 这里注意,因为在职工表中有来自部门表的外码—部门号,所以在建表时应该先建立部门表。 /*部门表*/ create table Dept ( Dno char(10) primary key, --主码 Dname char(5), ...

Evil Moon的博客 349

第五章、存储过程及函数作业

第五章、存储过程及函数作业第五章作业:习题六第八章作业:习题二 第五章作业:习题六 6、假没有下面两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码; 部门(部门号,名称,经理名,电话),其中部门号为主码。 用SOL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义: (1)定义每个模式的主码; (2) 定义参照完整性; (3) 定义职工年龄不得超过60岁。 建立职工表:(需提前建立部门表) DROP TABLE IF EXISTS STAFF; CREATE

m0_55788811的博客 532

第五章:存储过程和触发器

🎈个人座右铭:“成功者不是从不失败的人,而是从不放弃的人!”🎈🏆所属专栏欢迎订阅,持续更新中~~~​✨让小新带着你快乐的学习吧~✨存储过程是数据库对象之一,存储过程可以理解成数据库的子程序,在客户端和服务器端可以直接调用它。触发器是与表直接关联的特殊存储过程,是在对表记录进行操作时出发点的。

2302_76674204的博客 2294

MySQL数据库第5章答案_2018年mysql数据库武洪萍版第五章习题与答案.doc

2018年mysql数据库武洪萍版第五章习题与答案.docmysql数据库武洪萍版第五章习题与答案第五章一.选择题1. 下列关于SQL 语言索引(Index )的叙述中,哪一条是不正确的(C )。A. 索引是外模式B. 一个基本表上可以创建多个索引C. 索引可以加快查询的执行速度D. 系统在存取数据时会自动选择合适的索引作为存取路径2. 为了提高特定查询的速度,对SC (S#,C#,DEG...

weixin_29594291的博客 956

数据库习第五章习题作业

第五章习题: 6.假设有下面两个关系模式。 职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码; 部门(部门号,名称,经理名,电话),其中部门号为主码。 用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义。 (1)定义在每个模式的主码。 (2)参照完整性。 (3)定义员工年龄不得超过60岁。 首先,建表。 CREATE TABLE Worker (Wno CHAR(8), Wname CHAR(6), Wage INT, CONSTRAINT C1 CHECK(Wage&

liyatjj的博客 6927
上一篇: 数据库完整性,触发器
下一篇: sql总结
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谁会没有丶遗憾呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值