题目
程序员工资表:ProWage
|
字段名称 |
数据类型 |
说明 |
|
ID |
int |
自动编号,主键 |
|
PName |
Char(10) |
程序员姓名 |
|
Wage |
int |
工资 |
创建存储过程,查询程序员平均工资在4500元,如果不到则每个程序员每次加200元,至到所有程序员平均工资达到4500元
第一步 建表
--建数据表--USE WageGOCREATE 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)第三步 创建存储过程
CREATE PROCEDURE PR_addsalary
@AVGWAGE INT /*声明一个输入参数*/
AS
WHILE((SELECT AVG(wage)FROM ProWage)<@AVGWAGE) /*while 循环语句 条件:工资平均值小于输入参数的话执行下面语句 */
BEGIN
UPDATE dbo.ProWage SET Wage=Wage+200 /*每人工资加200*/
IF ((SELECT AVG(wage)FROM ProWage)>@AVGWAGE) /*循环结束条件 如果平均值大于输入参数跳出循环*/
BREAK
ELSE
CONTINUE
END
print'加薪后的程序员工资列表:'
select * from ProWage