-- データベースprogrammerPayが存在する場合は削除します。
存在する場合 (name='programmerPay' の sysdatabases から * を選択)
ドロップデータベースプログラマーPay
行く
--データベース作成プログラマーPay
データベース作成プログラマーPay
プライマリ上で
(
name ='programmerPay_data',
ファイル名='D:programmerPayprogrammerPay_data.mdf',
最大サイズ=3MB、
ファイルの増加=15%
)
ログオン
(
name ='programmerPay_log',
ファイル名='D:programmerPayprogrammerPay_log.ldf',
最大サイズ=1mb、
ファイルの増加=15%
)
行く
プログラマーPayを使用する
行く
--テーブル報酬の作成
テーブル報酬を作成する
(
id intidentity(1,1) not null、--主キー ID 列
Pname char(10) が null ではありません、--プログラマ名
賃金 int null ではありません -- プログラマーの給与
)
行く
-- テーブルの報酬 ID フィールドに主キー制約を追加します。
テーブル報酬を変更する
制約を追加 PK_id 主キー(id)
--テストデータを挿入
prowage (pname,wage) に挿入
値 ('張三',5000)
prowage (pname,wage) に挿入
値 ('李思',1200)
prowage (pname,wage) に挿入
値 ('2 月'、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 が存在する場合は削除します。
存在する場合 (select * from sysobjects where name='proc_addWage1')
プロシージャ proc_addWage1 を削除します
行く
-- ストアド プロシージャ proc_addWage1 を作成します。
プロシージャ proc_addWage1 を作成します
として
ノーカウントをオンに設定する
@firstwage int を宣言する
報酬から @firstwage=sum(wage) を選択します
一方 (1=1)
始める
@notpass int、@count int を宣言 -- 2200 人に達していない人の数と合計の人の数の 2 つの変数を定義します。
select @notpass=count(*) from prowage where 賃金<2200
select @count =count(*) from prowage
if(@notpass*2>@count)
賃金セットの更新賃金=賃金+100
それ以外
壊す
終わり
@endwage int を宣言する
select @endwage=sum(wage) from prowage
print'昇給総額'+convert(varchar(5),@endwage-@firstwage)
print '昇給後のプログラマー給与一覧:'
ID、Pname、賃金を報酬から選択
行く
-- ストアド プロシージャ proc_addWage2 が存在する場合は削除します。
存在する場合 (select * from sysobjects where name='proc_addWage2')
プロシージャ proc_addWage2 を削除します
行く
-- ストアド プロシージャ proc_addWage2 を作成します。
プロシージャ proc_addWage2 を作成します
として
ノーカウントをオンに設定する
while(1=1)
始める
destroy @avgwage int --変数平均給与を定義します
select @avgwage =avg(wage) from prowage
if(@avgwage<4500)
賃金設定を更新します 賃金 = 賃金 + 200
それ以外
壊す
終わり
行く
exec proc_addWage1 -- ストアド プロシージャ proc_addWage1 を呼び出します
exec proc_addwage2 -- ストアド プロシージャ proc_addwage2 を呼び出します。
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/yyoanlp/archive/2009/12/21/5047942.aspx
-