实验七实验八
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七
1.在查询分析器中,选择studentsdb数据库,输入以下代码。
DECLARE@stu name varchar(10)
SELECT@stu name=姓名
FORM student info
WHERE 姓名LIKE …张%‟
SELECT@stu name
观察显示的结果,与student info表中数据进行比较,@stu name赋值的是SELECT结果集中的哪个数据
2.定义int型局部变量@grademax、@grademin、@gradesum,在grade表中查找最高分、最低分和总分,分别赋给@grademax、@grademin和@gradesum,并显示。
3.使用SET命令将查询的结果数目赋值给int型局部变量@row。给下面代码中的划线处填上适当的内容,以完成上述操作。
4.以下代码在curriculum 表中插入新纪录:
DECLARE @intCId int,@intErrorCode int
INSERT INTO curriculum(课程编号,课程名称,学分)
VALUES(‟0006‟,‟VB程序设计‟,2)
SELECT@intCId = @ @identity,@intErrorCode = @@error
SELECT@intCId, @intErrorCode
将该代码段连续执行两次,观察两次显示的信息及curriculum表中数据的变化,为什么前后两次执行时显示的信息会不同?
5.在studentsdb数据库的student info表中,以“性别”为分组条件,分别统计男生和女生人数。
6.在grade表中,使用适当函数找出“高等数学”课程的最高分、最低分和平均分。
7.定义一个datetime型局部变量@student,以存储当前日期。计算student info表中的学生的年龄,并显示学生的姓名、年龄。在以下代码的划线部分填入适当内容,以实现上述功能。
8.运行以下代码,写出运行结果。
9.在局部变量@stu id中存储了学号值。编写代码查询学号为0001的学生的各科平均成绩,如果平均分>=60则显示“你的成绩及格了,恭喜你!!”,否则显示“你的成绩不及格”。
10.运行以下代码段,写出运行的结果。
11.查询grade表。如果分数大于等于90,显示A;如果分数大于等于80小于90,显示B;如果分数大于等于70小于80,显示C;如果分数大于等于60小于70,显示D;其他显示E。在以下代码的划线部分填入适当内容完成上述功能。
12.计算grade表的分数列的平均值。如果小于80,则分数增加其值的5%;如果分数的最高值超过95,则终止该操作。在以下代码划线处填入适当的内容以完成上述功能。
13.编写代码计算并显示@ n = 1+2+3+ (20)
14.编写代码计算并显示1~100之间的所有完全平方数。例如,81 = 92,则称81为完全平方数。
15.计算1~100以内的所有的素数。
实验八
1.在查询分析器中输入以下代码,创建一个利用流控制语句的存储过程lletters_print,该存储器能显示26个小写字母。
2.输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。
CREATE PROCEDURE stu_info @name varchar(40)
AS
SELECT a.学号,姓名,课程编号,分数
FROM student_info a INNER JOIN grade ta
ON a.学号=ta.学号
WHERE 姓名=@name
使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。
如果存储过程stu_info执行时没有提供参数,能按默认值查询(设姓名为“刘卫平”),如何修改该过程的定义?
3.使用studentsdb数据库中的student_info表,curriculm表、grade表。
(1)创建一个存储过程stu_grade,查询学号为0001的学生的姓名,课程名称,分数。
(2)执行存储过程stu_grade,查询0001学生的姓名,课程名称,分数。
(3)使用系统存储过程sp_rename将存储过程stu_grade更名为stu_g.
4.使用student_info表,curriculm表、grade表。
(1)创建一个带参数的存储过程stu_p_g,当任意输入一个学生的姓名时,将从3个表中返回该学生的学号,选修的课程名称和课程成绩。
(2)执行存储过程stu_g_p,查询“刘卫平”的学号,选修课程和课程成绩。
(3)使用系统存储过程sp_helptext,查看存储过程stu_p_g的文本信息。
5.使用student_info表。
(1)创建一个加密的存储过程stu_en,查询所有男学生的信息。
(2)执行存储过程stu_en,查看返回学生情况。
(3)使用Transact —SQL语句DROP PROCEDURE删除存储过程stu_en。
6.使用grade表。
(1)创建一个存储过程stu_g_r,当输入一个学生学号,通过返回输出参数获取该学生各门课程的平均成绩。
(2)执行存储过程stu_g_r,输入学号0002。
(3)使用Transact—SQL语句DROP PROCDURE删除存储过程stu_en.