资源描述:
《数据库实验7 Transact-SQL程序设计(答案)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库技术与应用实验实验7Transact-SQL程序设计实验7Transact-SQL程序设计学号:18103317专业:电子信息工程一、实验内容和步骤1.在查询分析器中,选择studentsdb数据库,在学生表中查找姓“张”的学生,并将该生姓名赋于变量@stu_name。DECLARE@stu_namevarchar(10)SELECT@stu_name=姓名FROM学生表WHERE姓名LIKE'张%'SELECT@stu_name提示:首先要定义变量@stu_name。2.定义int型局部变量@grademax、@grademin、@grad
2、esum,在成绩表中查找课程编号是“C002”课程的最高分、最低分和总分,分别赋给@grademax、@grademin和@gradesum,并显示。DECLARE@grademaxint,@grademinint,@gradesumintSELECT@grademax=max(分数),@grademin=MIN(分数),@gradesum=sum(分数)FROM成绩表WHERE课程编号='C002'SELECT@grademax,@grademin,@gradesum3.使用SET命令将查询结果集记录数目赋值给int型局部变量@row。给下面代码
3、中的划线处填上适当的内容,以完成上述操作。DECLARE@rows___________SET____________=(SELECTCOUNT(*)FROM成绩表)5南京师范大学中北学院数据库技术与应用实验实验7Transact-SQL程序设计______________@rows--显示@rows的值DECLARE@rowsintSET@rows=(SELECTCOUNT(*)FROM成绩表)SELECT@rows4.以下代码在课程表中插入新记录:DECLARE@intCIdint,@intErrorCodeintINSERTINTO课程表(课
4、程编号,课程名称,学分)VALUES('0006','VB程序设计',2)SELECT@intCId=@@identity,@intErrorCode=@@errorSELECT@intCId,@intErrorCode将该代码段连续执行两次,观察两次显示的信息及课程表中数据的变化,为什么前后两次执行时显示的信息会不同?提示:@@identity,@@error参看教材P189表9-25.在studentsdb数据库的学生表中,以“性别”为分组条件,分别统计男生和女生人数。DECLARE@rows1int,@rows2intSET@rows1=(S
5、ELECTCOUNT(*)FROM学生表WHERE性别='男')SET@rows2=(SELECTCOUNT(*)FROM学生表WHERE性别='女')SELECT@rows1AS男生,@rows2AS女生提示:定义两个变量,用SET分别赋值。6.在成绩表中,使用适当函数找出“高等数学”课程的最高分、最低分和平均分,并分别赋予@grademax、@grademin、@gradesum。DECLARE@grademaxint,@grademinint,@gradesumintSELECT@grademax=max(分数),@grademin=MIN(
6、分数),@gradesum=sum(分数)FROM成绩表WHERE课程编号=5南京师范大学中北学院数据库技术与应用实验实验7Transact-SQL程序设计(SELECT课程编号FROM课程表WHERE课程名称='高等数学')SELECT@grademax,@grademin,@gradesum7.定义一个datetime型局部变量@studate,以存储当前日期。计算学生表中的学生的年龄,并显示学生的姓名、年龄。在以下代码的划线部分填人适当内容,以实现上述功能。DECLARE___________datetimeSET@studate=_____
7、__________--给@studate赋值为当前日期SELECT姓名,______________AS年龄FROM学生表DECLARE@studatedatetimeSET@studate=getdate()SELECT姓名,DATEDIFF(yy,出生年月,@studate)AS年龄FROM学生表提示:计算年龄可参考教材P199表9-9和9-10相关函数。8.请用单行注释将下列命令行所实现的功能予以注释(填入括号内)。()SELECT姓名,家庭地址FROM学生表WHERE姓名LIKE'陈%‘9.请用多行注释将下列命令行所实现的功能予以注释(填
8、入括号内)。()SELECT姓名,性别,出生年月,家庭地址FROM学生表WHEREYEAR(出生年月)>8010.在局部变