文档详情

数据库实验7Transact-SQL程序设计(答案).doc

发布:2017-03-20约2.71千字共5页下载文档
文本预览下载声明
实验7 Transact-SQL程序设计 学号专业:电子信息工程 一、实验内容和步骤 1.在查询分析器中,选择studentsdb数据库,在学生表中查找姓“张”的学生,并将该生姓名赋于变量@stu_name。 DECLARE @stu_name varchar(10) SELECT @stu_name=姓名 FROM 学生表 WHERE 姓名 LIKE 张% SELECT @stu_name 提示:首先要定义变量@stu_name。 2.定义int型局部变量@grademax、@grademin、@gradesum,在成绩表中查找课程编号是“C002”课程的最高分、最低分和总分,分别赋给@grademax、@grademin和@gradesum,并显示。 DECLARE @grademax int,@grademin int,@gradesum int SELECT @grademax=max(分数),@grademin=MIN(分数), @gradesum= sum(分数) FROM 成绩表 WHERE 课程编号=C002 SELECT @grademax,@grademin,@gradesum 3. 使用SET命令将查询结果集记录数目赋值给int型局部变量@row。给下面代码中的划线处填上适当的内容,以完成上述操作。 DECLARE @rows___________ SET ____________=(SELECT COUNT(*)FROM 成绩表) ______________@rows --显示@rows的值 DECLARE @rows int SET @rows=(SELECT COUNT(*)FROM 成绩表) SELECT @rows 4.以下代码在课程表中插入新记录: DECLARE @intCId int,@intErrorCode int INSERT INTO 课程表(课程编号,课程名称,学分) VALUES(0006,VB程序设计,2) SELECT @intCId=@@identity,@intErrorCode=@@error SELECT @intCId,@intErrorCode 将该代码段连续执行两次,观察两次显示的信息及课程表中数据的变化,为什么前后两次执行时显示的信息会不同? 提示:@@identity,@@error参看教材P189 表9-2 5.在studentsdb数据库的学生表中,以“性别”为分组条件,分别统计男生和女生人数。 DECLARE @rows1 int,@rows2 int SET @rows1= (SELECT COUNT(*)FROM 学生表 WHERE 性别=男 ) SET @rows2= (SELECT COUNT(*)FROM 学生表 WHERE 性别=女 ) SELECT @rows1 AS 男生, @rows2 AS 女生 提示:定义两个变量,用SET分别赋值。 6.在成绩表中,使用适当函数找出“高等数学”课程的最高分、最低分和平均分,并分别赋予@grademax、@grademin、@gradesum。 DECLARE @grademax int,@grademin int,@gradesum int SELECT @grademax=max(分数),@grademin=MIN(分数), @gradesum= sum(分数) FROM 成绩表 WHERE 课程编号= (SELECT 课程编号 FROM 课程表 WHERE 课程名称=高等数学) SELECT @grademax,@grademin,@gradesum 7.定义一个datetime型局部变量@studate,以存储当前日期。计算学生表中的学生的年龄,并显示学生的姓名、年龄。在以下代码的划线部分填人适当内容,以实现上述功能。 DECLARE___________ datetime SET @studate=_______________ --给@studate赋值为当前日期 SELECT 姓名,______________ AS 年龄 FROM 学生表 DECLARE @studate datetime SET @studate=getdate() SELECT 姓名,DATEDIFF(yy,出生年月,@studate) AS 年龄 FROM 学生表 提示:计算年龄可参考教材P199表9-9和9-10相关函数。 8.请用单行注释将下列命令行所实现的功能予以注释(
显示全部
相似文档