创建数据库脚本
USE master
GO
/*$$$$$$$$$$$$$建库$$$$$$$$$$$$$$$$$$$$$$$$*/
--检验数据库是否存在,如果为真,删除此数据库--
IF exists(SELECT * FROM sysdatabases WHERE name='Wage')
DROP DATABASE Wage
GO
CREATE DATABASE Wage
GO
--建数据表--
USE Wage
GO
CREATE TABLE ProWage --程序员工资表
(
ID int identity(1,1) primary key, --工资编号
PName CHAR(10) NOT NULL , --程序员姓名
Wage int NOT NULL --工资
)
GO
--插入数据--
INSERT INTO ProWage(PName,Wage)VALUES('青鸟',1900)
INSERT INTO ProWage(PName,Wage)VALUES('张三',1200)
INSERT INTO ProWage(PName,Wage)VALUES('李四',1800)
INSERT INTO ProWage(PName,Wage)VALUES('二月',3500)
INSERT INTO ProWage(PName,Wage)VALUES('蓝天',2780)
--创建存储过程,查询程序员平均工资在4500元,如果不到则每个程序员每次加200元,至到所有程序员平均工资达到4500元。
创建存储过程:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Avg_wage
@PWage int,
@AWage int
-- @total int
AS
--while(1=1)
BEGIN
if((select avg(Wage) from ProWage)<=@PWage)
update ProWage set Wage=Wage+@AWage
-- update ProWage set @total=@total+@AWage
-- else
-- break
END
-- print'一共加薪:'+convert(varchar,@total)+'元'
print'加薪后的程序员工资列表:'
select ID,PName,Wage from ProWage
print'加薪后的程序员平均工资:'
select avg(Wage)平均工资 from ProWage
GO
exec Avg_wage @PWage=3000,@AWage=200
--exec Avg_wage @PWage=3000,@AWage=200,@total=0
效果如果: