--Если база данных programrPay существует, удалите ее
если существует (выберите * из баз данных, где name='programmerPay')
удалить базу данных программистаPay
идти
--Создать базу данных программистаPay
создать базу данных программистPay
на первичном
(
name ='programmerPay_data',
имя_файла = 'D:programmerPayprogrammerPay_data.mdf',
максимальный размер = 3 МБ,
рост файла=15%
)
войти в систему
(
name ='programmerPay_log',
filename='D:programmerPayprogrammerPay_log.ldf',
максимальный размер = 1 МБ,
рост файла=15%
)
идти
используйте программистPay
идти
--Создать таблицу prowage
создать таблицу
(
id intident(1,1) не нуль, — столбец идентификатора первичного ключа
Pname char(10) не нуль, — имя программиста
заработная плата int не нуль — зарплата программиста
)
идти
--Добавить ограничения первичного ключа в поле идентификатора таблицы prowage
изменить таблицу
добавить ограничение первичного ключа PK_id (id)
--Вставьте тестовые данные
вставить в prowage (pname,wage)
ценности («Чжан Сан», 5000)
вставить в prowage (pname,wage)
значения('李思',1200)
вставить в prowage (pname,wage)
ценности («Февраль», 1700 г.)
вставить в prowage (pname,wage)
значения («голубое небо», 5700)
вставить в prowage (pname,wage)
значения('солнышко',8700)
вставить в prowage (pname,wage)
ценности('Китай',1100)
вставить в prowage (pname,wage)
значения («однажды скрыты», 1300)
вставить в prowage (pname,wage)
значения('ruo',1200)
вставить в prowage (pname,wage)
значения('ченд',1400)
--Если хранимая процедура proc_addWage1 существует, удалите ее
если существует (выберите * из sysobjects, где name='proc_addWage1')
процедура удаления proc_addWage1
идти
--Создать хранимую процедуру proc_addWage1
создать процедуру proc_addWage1
как
установить nocount на
объявить @firstwage int
выберите @firstwage=sum(wage) из prowage
пока (1=1)
начинать
объявить @notpass int, @count int — определить две переменные: количество людей, не достигших 2200, и общее количество людей
выберите @notpass=count(*) из prowage, где заработная плата<2200
выберите @count =count(*) из prowage
if(@notpass*2>@count)
обновить набор prowage заработная плата = заработная плата + 100
еще
перерыв
конец
объявить @endwage int
выберите @endwage=sum(wage) из prowage
print'Общее увеличение зарплаты'+convert(varchar(5),@endwage-@firstwage)
print 'Список зарплат программистов после повышения зарплаты:'
выберите ID,Pname,зарплату из prowage
идти
--Если хранимая процедура proc_addWage2 существует, удалите ее
если существует (выберите * из sysobjects, где name='proc_addWage2')
процедура удаления proc_addWage2
идти
--Создать хранимую процедуру proc_addWage2
создать процедуру proc_addWage2
как
установить nocount на
пока (1=1)
начинать
объявить @avgwage int --Определить переменную среднюю зарплату
выберите @avgwage =avg(заработная плата) из prowage
если(@avgwage<4500)
обновить набор prowage заработная плата = заработная плата + 200
еще
перерыв
конец
идти
exec proc_addWage1 — вызов хранимой процедуры proc_addWage1
exec proc_addwage2 — вызов хранимой процедуры proc_addwage2
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/yyoanlp/archive/2009/12/21/5047942.aspx.
-