爱问知识人 爱问教育 医院库

简单的SQLSever数据库问题

首页

简单的SQLSever数据库问题

题目是这样的:
编写存储过程“学生成绩统计分析”,带一输入参数“@学号”,其开始代码严格如下:
        CREATE PROCEDURE 学生成绩统计分析
                @学号 Char(10)
        AS
要求此存储过程实现的功能是:根据输入参数“@学号”指定的学生,先计算该生的平均总评成绩(保留2位小数),然后:
  (1)将该生的学习状况添加到表“学生学习状况”中(其xID列为自动赋值),“评价”列的取值为:优秀、一般或较差,优秀的标准是平均总评成绩>=90,较差的标准是平均总评成绩<60,其余情况则为一般。往该表中添加记录的程序示例:假定@学号中指定学生的@平均总评成绩为95.73
        INSERT INTO 学生学习状况 (学号, 姓名, 平均总评成绩, 评价)
                SELECT @学号, X.姓名, @平均总评成绩, '优秀'
                        FROM 学生 X
                        WHERE X.学号 = @学号
  (2)若平均总评成绩在90分以上,则查询出该学生总评成绩>=90的课程,并添加到表“优秀课程”表中(其kID列为自动赋值)。往该表中添加记录的程序示例:假定@学号中指定学生的@平均总评成绩为95.73,现需将该生总评成绩在70~80间的课程添加到该表中
        INSERT INTO 优秀课程 (学号, 课程名称, 总评成绩)
                SELECT C.学号, K.课程名称, C.总评成绩
                        FROM 成绩 C, 课程 K
                        WHERE C.学号=@学号 and  C.总评成绩 between 70 and 80  and K.课程代码=C.课程代码
  (3)若平均总评成绩在60分以下,则查询出该学生总评成绩<60的课程,并添加到表“不及格课程”表中(其kID列为自动赋值)。
--------------------------------------------------------------------
我的解答是这样的:
        CREATE PROCEDURE 学生成绩统计分析
                @学号 Char(10),@平均总评成绩 tinyint(1),@评价 char(10)
        AS
  select @平均总评成绩=总评成绩 from 成绩 where @学号=学号
        INSERT INTO 学生学习状况 (学号, 姓名, 平均总评成绩, 评价)
                SELECT @学号, X.姓名, @平均总评成绩, set @评价=(case @平均总评成绩
                 when @平均总评成绩>=90 then  '优秀'
                 when @平均总评成绩<60 then '较差'                                                                                               
                 when @平均总评成绩>=60 and @平均总评成绩<90 then '一般' end)
                        FROM 学生 X
                        WHERE X.学号 = @学号
  INSERT INTO 优秀课程 (学号, 课程名称, 总评成绩)
                SELECT C.学号, K.课程名称, C.总评成绩
                        FROM 成绩 C, 课程 K
                        WHERE C.学号=@学号 and  C.总评成绩>=90 and K.课程代码=C.课程代码
  INSERT INTO 不及格课程 (学号, 课程名称, 总评成绩)
                SELECT C.学号, K.课程名称, C.总评成绩
                        FROM 成绩 C, 课程 K
                        WHERE C.学号=@学号 and  C.总评成绩<60 and K.课程代码=C.课程代码
====================================================================
检查语法时老是报错说是有语法错误,那位高人帮忙指点一下,先谢谢啦

提交回答

类似问题

换一换
  • 数据库 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 176-195
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):