SQL程序员的加薪你来说!

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:59:24
创建一个存储过程,对10个程序员的工资进行分析,开始分别是:2000,1800,5000,6000,3500,2000,1800,5000,6000,3500,如果有5个人薪水不到6000元,给所有人加薪,每次加100,再进行分析,直到有一半以上的人大于6000为止,存储过程执行完后,最终加了多少钱?

请务必要用SQL Server 语句格式写!
多谢!

DECLARE @Timers AS int
DECLARE @RecordCount AS int
DECLARE @Number AS int
SET @Timers = 0
SET @RecordCount = (SELECT COUNT(*) FROM 工资表)
SET @Number = (SELECT COUNT(*) FROM 工资表 WHERE 工资 > 6000)
WHILE @Number <= @RecordCount/2
BEGIN
UPDATE 工资表 SET 工资 = 工资 + 100
SET @Timers = @Timers + 1
SET @Number = (SELECT COUNT(*) FROM 工资表 WHERE 工资 > 6000)
IF @Number > @RecordCount/2
BREAK
ELSE
CONTINUE
END
PRINT '共加了' + CAST(@Timers*@RecordCount*100 AS nvarchar) + '元'

declare @nowMax int, @MaxMoney money
select @nowMax = count(1), @MaxMoney = 0 from 表 where 薪水 < 6000
while @nowMax<= 5
begin
update 表 set 薪水 = 薪水 + 100
set @MaxMoney = @MaxMoney + 1000
select @nowMax = count(1) from 表 where 薪水 < 6000
end