具体的计算规则是什么呢? 还有你的grade字段在哪儿,在图中没有看到

解决方案 »

  1.   


    Score_sum>180 返回成绩等级"A"
    160<Score_sum<180 返回成绩等级“B”
    Score_sum<160 返回成绩等级"C"
    grade字段是函数的返回值,函数的返回值需要把插入表。
      

  2.   

    函数需要带有一个std_id才行,单纯的一个grade无法关联
      

  3.   


    那如果关联Std_id,应该怎么写这个函数?
      

  4.   

    首先我想问问:
    你的函数是已经写出来了还是还没写出来?如果写出来了,方便的话贴下脚本,如果没写出来,以文本方式贴下你的表结构、测试数据,还有一些注意事项,比如sqlserver1的版本
      

  5.   

    通过自己写一个自定义函数,然后更新便可。update TableName set grade=dbo.querygrade(Score_sum)
     from  TableName
      

  6.   


    create function std_grade(@Score_sum decimal(10,2))
    returns nvarchar(10)
    begin declare @grade nvarchar(10)
    if @Score_sum>=180
       set @grade = 'A' 
    else if @Score_sum<180 and @Score_sum>=160 
       set @grade = 'B'
         else if @Score_sum<160 and @Score_sum>=140
             set @grade = 'C'
               else if @Score_sum<140
                  set @grade = 'D' 
    return @grade 
    end   调用函数:select *,dbo.std_grade(Score_sum) grade from std_score 
    把函数调用后,返回值grade直接插入到原表中,请问怎么写?
      

  7.   


    create function std_grade(@Score_sum decimal(10,2))
    returns nvarchar(10)
    begin declare @grade nvarchar(10)
    if @Score_sum>=180
       set @grade = 'A' 
    else if @Score_sum<180 and @Score_sum>=160 
       set @grade = 'B'
         else if @Score_sum<160 and @Score_sum>=140
             set @grade = 'C'
               else if @Score_sum<140
                  set @grade = 'D' 
    return @grade 
    end   调用函数:select *,dbo.std_grade(Score_sum) grade from std_score 
    把函数调用后,返回值grade直接插入到原表中,请问怎么写?哦,那把这个grade插入到你的std_score 表中的哪一列呢
      

  8.   

    是这样吗:
    update std_score
    set grade = dbo.std_grade(Score_sum)