--Si la base de données programmerPay existe, supprimez-la
s'il existe (sélectionnez * dans les bases de données système où nom = 'programmerPay')
programmeur de base de données dropPay
aller
--Créer un programmeur de base de donnéesPayer
créer une base de données programmeurPayer
au primaire
(
nom = 'programmerPay_data',
filename='D:programmerPayprogrammerPay_data.mdf',
taille maximale = 3 Mo,
croissance du fichier = 15 %
)
connecter
(
nom = 'programmerPay_log',
filename='D:programmerPayprogrammerPay_log.ldf',
taille maximale = 1 Mo,
croissance du fichier = 15 %
)
aller
utiliser programmerPay
aller
--Créer un propage de table
créer un propage de table
(
id int identité (1,1) non nul, - colonne d'identité de clé primaire
Pname char(10) non nul,--nom du programmeur
salaire int non nul - salaire du programmeur
)
aller
--Ajouter des contraintes de clé primaire au champ d'identification du prowage de la table
modifier le propage de la table
ajouter une contrainte clé primaire PK_id (id)
--Insérer les données de test
insérer dans prowage (pname,wage)
valeurs ('Zhang San',5000)
insérer dans prowage (pname,wage)
valeurs ('李思',1200)
insérer dans prowage (pname,wage)
valeurs ("février", 1700)
insérer dans prowage (pname,wage)
valeurs ('ciel bleu',5700)
insérer dans prowage (pname,wage)
valeurs ('soleil',8700)
insérer dans prowage (pname,wage)
valeurs ('Chine',1100)
insérer dans prowage (pname,wage)
valeurs ('une fois masqué',1300)
insérer dans prowage (pname,wage)
valeurs ('ruo',1200)
insérer dans prowage (pname,wage)
valeurs ('chend',1400)
--Si la procédure stockée proc_addWage1 existe, supprimez-la
s'il existe (sélectionnez * dans sysobjects où name='proc_addWage1')
supprimer la procédure proc_addWage1
aller
--Créer une procédure stockée proc_addWage1
créer une procédure proc_addWage1
comme
ne définir aucun compte sur
déclarer @firstwage int
sélectionnez @firstwage=sum(wage) dans prowage
tandis que (1=1)
commencer
déclarer @notpass int, @count int--définir deux variables : le nombre de personnes qui n'ont pas atteint 2 200 et le nombre total de personnes
sélectionnez @notpass=count(*) dans prowage où salaire<2200
sélectionnez @count =count(*) dans prowage
si (@notpass*2>@count)
mettre à jour le prowage défini salaire=salaire+100
autre
casser
fin
déclarer @endwage int
sélectionnez @endwage=sum(wage) dans prowage
print'Augmentation totale du salaire'+convert(varchar(5),@endwage-@firstwage)
print 'Liste des salaires des programmeurs après augmentation de salaire :'
sélectionnez ID, Pname, salaire de prowage
aller
--Si la procédure stockée proc_addWage2 existe, supprimez-la
s'il existe (sélectionnez * dans sysobjects où name='proc_addWage2')
supprimer la procédure proc_addWage2
aller
--Créer une procédure stockée proc_addWage2
créer une procédure proc_addWage2
comme
ne définir aucun compte sur
tandis que(1=1)
commencer
déclarer @avgwage int --Définir le salaire moyen variable
sélectionnez @avgwage =avg(wage) dans prowage
si (@moywage<4500)
mettre à jour le prowage défini salaire=salaire+200
autre
casser
fin
aller
exec proc_addWage1 -- appelle la procédure stockée proc_addWage1
exec proc_addwage2 -- appelle la procédure stockée proc_addwage2
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/yyoanlp/archive/2009/12/21/5047942.aspx.
-