基本工资在3000到3999之间 实发工资扣留5%;基本工资在4000到4999之间的实发工资扣留10%;基本工资在5000以上的实发工资扣留15%。用存储结构来写,是不是create procedure as 后面怎么写啊

解决方案 »

  1.   

    create proc proc_name
    as
     select case when 基本工资 between 3000 and 3999 then 基本工资*(1-0.05)
                 when 基本工资 between 4000 and 4999 then 基本工资*(1-0.1)
                 when 基本工资 >=5000 then 基本工资*(1-0.15)
     end
     from tb
      

  2.   

    --直接SQL语句中用case when即可select case when 基本工资 between 3000 and 3999 then 基本工资 * 0.95
                when 基本工资 between 4000 and 4999 then 基本工资 * 0.90
                when 基本工资 >= 5000 then 基本工资 * 0.85
           end
    from tb 实发工资
      

  3.   

    如果要用存储过程,则把语句放入即可.
    create procedure my_proc
    as
    select case when 基本工资 between 3000 and 3999 then 基本工资 * 0.95
                when 基本工资 between 4000 and 4999 then 基本工资 * 0.90
                when 基本工资 >= 5000 then 基本工资 * 0.85
           end
    from tb 实发工资
    go
      

  4.   

    不过你们好像写错了,THEN后面应该接实发工资而不是本来工资,对吧?