问答题
阅读以下说明,回答问题1~5。
[说明]
根据下面所给的AAA数据库,或者按照下列所给的每条SQL查询语句写出相应的功能,或者按照下列所给的每种功能写出相应的SQL查询语句。
假设使用名称为AAA的数据库,它包括Students(学号char(8),姓名varchar(8),年龄 int,专业varchar(20),入学日期Date Time)和Score(学号char(8),课程名varchar(10),成绩 numeric(5,2))两张表。
问答题
[问题1]
请说出该程序段的功能。
declare @ a numeric(5,2),@ b numeric(5,2)
set @ a=(select max(成绩)from score)
set @ b=(select min(成绩)from score)
print @ a-@ b
【正确答案】
【答案解析】该程序段功能:求出score表中最高成绩与最低成绩的分数之差。
问答题
[问题2]
请说出该程序段的功能。
create procedure xxk6
(
@ a char (8),@ b varchar(10)
)
as
begin
delete from score
where学号=@ a and课程名=@ b
end
【正确答案】
【答案解析】该程序段功能:从score表中删除学号为@a的值、课程名为@b的值的学生成绩记录。
问答题
[问题3]
请说出该程序段的功能。
declare @e numeric(5,2)
declare @ c1 int, @ c2 int, @ c3 int, @ c4 int
set @ c1=0; set @ c2 =0; set @ c3=0; set @ c4=0
declare xxx cursor
for select 成绩 from score
open xxx
fetch xxx into @ c
while @'@ fetch_status = 0
begin
if(@c > =90) set @cl =@ e1 +1;
else if( @ c > =70) set @ c2 =@ c2 +1;
else if(@ c> =60) set @ c3 =@ c3 +1;
else set @ c4 = @ c4 + 1
fetch from xxx into @ c
end
close xxx
deallocate xxx
print 优秀生人数:'+sb(@ c1,5);
print食好生人数:'+str(@ c2,5);
print及格生人数:'+str(@ c3,5);
print及格生人数:'+sh(@ c4,5)
【正确答案】
【答案解析】该程序段功能:从score表中按成绩统计并显示出优秀、良好、及格、不及格各多少人。
问答题
[问题4]
请写出一条查询语句,要求显示出Score表中的全部数据,并要求当成绩为空时显示数值-1。
【正确答案】
【答案解析】select 学号,课程名,isnull(成绩,-1) from Score
问答题
[问题5]
请写出一条修改数据库定义的语句,将AAA数据库的初始大小更改为5MB,最大空间限定为10MB。
【正确答案】
【答案解析】ALTER DATABASE AAA MODIFY FILE ( NAME = AAA_data, SIZE = 5, MAXSIZE = 10 )