当前位置: 代码迷 >> Sql Server >> 菜鸟 写了一串sql语句 求解小弟我做的有哪些不对
  详细解决方案

菜鸟 写了一串sql语句 求解小弟我做的有哪些不对

热度:363   发布时间:2016-04-24 09:42:02.0
初学者 写了一串sql语句 求解我做的有哪些不对
创建一个命名为P_成绩录入的存储过程,用户能够通过该存储过程逐条插入学生的成绩记录,
并且对成绩增加该学生的专业分,如果大于等于90分,专业分加4分;如果大于等于80分,专业分加3分
;如果大于等于70分,专业分加2分;如果大于等于60分,专业分加1分。以上命令组成一个显示事务


create proc P_成绩录入
@学号 varchar(4),@课程号 varchar(3),@成绩 int
as
begin tran
  insert into dbo.成绩(学号,课程号,成绩)
  values(@学号,@课程号,@成绩)
  update dbo.学生
  set 专业分=case
  when  @成绩>=90   then 专业分=专业分+4
  when  @成绩>=80   then 专业分=专业分+3
  when  @成绩>=70   then 专业分=专业分+2
  when  @成绩>=60   then 专业分=专业分+1
  end
  where  学号=@学号
rollback
------解决思路----------------------
要用事务的话 需要提交吧 COMMIT TRAN

而且你的CASE语法有错误

专业分=
CASE 
when @成绩>=90  then 专业分+4 
when @成绩>=80   then 专业分+3 
when @成绩>=70   then 专业分+2 
when @成绩>=60   then 专业分+1 
 else 专业分 end 
  相关解决方案