美文网首页
存储过程练习

存储过程练习

作者: writing_琪 | 来源:发表于2018-08-17 09:52 被阅读0次

    程序员工资表:ProWage

    字段名称数据类型说明

    IDint自动编号,主键

    PNameChar(10)程序员姓名

    Wageint工资

    创建一个存储过程,对程序员的工资进行分析,月薪1500到10000不等,如果有百分之五十的人薪水不到2000元,给所有人加薪,每次加100,再进行分析,直到有一半以上的人大于2000元为止,存储过程执行完后,最终加了多少钱?

    例如:如果有百分之五十的人薪水不到2000,给所有人加薪,每次加100元,直到有一半以上的人工资大于2000元,调用存储过程后的结果如图:

    USE [wage]

    GO

    /****** Object:  StoredProcedure [dbo].[sum_wage]    Script Date: 08/17/2018 09:48:56 ******/

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    ALTER procedure [dbo].[sum_wage] 

    @pwage int, 

    @awage int, 

    @total int,

    @total1 int

    with recompile

    as 

    while (1=1) 

    begin 

    if (select count(*) from ProWage)>2*(select count(*) from prowage where age>=@pwage) 

    update ProWage set @total1=@total+@AWage,age=age+@AWage 

    else 

    break 

    end 

    print'一共加薪:'+convert(varchar,@total1)+'元' 

    print'加薪后的程序员工资列表:' 

    select * from prowage

    相关文章

      网友评论

          本文标题:存储过程练习

          本文链接:https://www.haomeiwen.com/subject/xvhzbftx.html