--Se o banco de dados programerPay existir, exclua-o
se existir (selecione * em sysdatabases onde name='programmerPay')
descartar programador de banco de dadosPay
ir
--Criar programador de banco de dadosPay
criar programador de banco de dadosPay
no primário
(
nome ='programmerPay_data',
nome do arquivo='D:programmerPayprogrammerPay_data.mdf',
tamanho máximo = 3 MB,
crescimento do arquivo = 15%
)
faça login
(
nome ='programmerPay_log',
nome do arquivo='D:programmerPayprogrammerPay_log.ldf',
tamanho máximo = 1 MB,
crescimento do arquivo = 15%
)
ir
usar programadorPay
ir
--Criar provisão de mesa
criar promessa de mesa
(
id int identidade (1,1) não nulo, - coluna de identidade de chave primária
Pname char(10) não nulo,--nome do programador
salário int não nulo – salário do programador
)
ir
--Adicionar restrições de chave primária ao campo de identificação de prowage da tabela
alterar tabela prowage
adicionar restrição PK_id chave primária (id)
--Inserir dados de teste
inserir em prowage (pname, salário)
valores ('Zhang San',5000)
inserir em prowage (pname, salário)
valores ('李思',1200)
inserir em prowage (pname, salário)
valores ('fevereiro',1700)
inserir em prowage (pname, salário)
valores ('céu azul',5700)
inserir em prowage (pname, salário)
valores ('luz do sol',8700)
inserir em prowage (pname, salário)
valores ('China',1100)
inserir em prowage (pname, salário)
valores ('uma vez oculto', 1300)
inserir em prowage (pname, salário)
valores ('ruo',1200)
inserir em prowage (pname, salário)
valores ('chend',1400)
--Se o procedimento armazenado proc_addWage1 existir, exclua-o
se existir (selecione * em sysobjects onde name='proc_addWage1')
procedimento de eliminação proc_addWage1
ir
--Criar procedimento armazenado proc_addWage1
criar procedimento proc_addWage1
como
ativar nocount
declarar @firstwage int
selecione @firstwage=sum(salário) da prowage
enquanto (1 = 1)
começar
declare @notpass int, @count int - defina duas variáveis: o número de pessoas que não atingiram 2.200 e o número total de pessoas
selecione @notpass=count(*) de prowage onde salário<2200
selecione @count =count(*) da prowage
if(@notpass*2>@contar)
atualizar conjunto de promessas salário=salário+100
outro
quebrar
fim
declarar @endwage int
selecione @endwage=sum(salário) da prowage
print'Aumento salarial total'+convert(varchar(5),@endwage-@firstwage)
print 'Lista de salários do programador após aumento salarial:'
selecione ID, Pname, salário de prowage
ir
--Se o procedimento armazenado proc_addWage2 existir, exclua-o
se existir (selecione * em sysobjects onde name='proc_addWage2')
procedimento de eliminação proc_addWage2
ir
--Criar procedimento armazenado proc_addWage2
criar procedimento proc_addWage2
como
ativar nocount
enquanto(1=1)
começar
declare @avgwage int --Defina o salário médio variável
selecione @avgwage =avg(salário) do prowage
if(@saláriomédio<4500)
atualizar conjunto de promessas salário=salário+200
outro
quebrar
fim
ir
exec proc_addWage1 – chama o procedimento armazenado proc_addWage1
exec proc_addwage2 – chama o procedimento armazenado proc_addwage2
Este artigo vem do blog CSDN. Indique a fonte ao reimprimir: http://blog.csdn.net/yyoanlp/archive/2009/12/21/5047942.aspx.
-