题目
程序员工资表:ProWage
字段名称 |
数据类型 |
说明 |
ID |
int |
自动编号,主键 |
PName |
Char(10) |
程序员姓名 |
Wage |
int |
工资 |
创建存储过程,查询程序员平均工资在4500元,如果不到则每个程序员每次加200元,至到所有程序员平均工资达到4500元
第一步 建表
--建数据表--
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)
第三步 创建存储过程
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