Sou iniciante se puderem me ajudar.......

Scripts Diversos para o Oracle SQL*Plus. (Relacionado a ferramenta Oracle SQL*Plus, para questões de SQL, usar o forum SQL)
Responder
druffes
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 31
Registrado em: Sex, 26 Jan 2007 6:23 pm
Localização: Campo Mourão - PR

Olá....
Comecei um curso de oracle a pouco tempo (1 semana), e o meu professor passou o seguinte exercicio.
Ele quer que nós reajustemos o salário dos funcionários da tabela "EMP", desta forma: salário de 0 à 1300.00 reajuste de 10%;
de 1300.01 à 1800.00 reajuste de 0.8%;
de 1800.01 à 2600.00 reajuste de 0.6%;
de 2600.01 acima reajuste de 0.4%;

O problema é que ele quer esses reajustes em apenas 01 comando, e disse que seria usado DECODE, GREATEST, LEAST E UPDATE;
Se pudesse fazer um por um eu usaria apenas o UPDATE:

Selecionar tudo

SQL>update emp
set sal= sal*1.10
where sal<=1300;
update emp
set sal=sal*1.08
where sal between 1300.01 and 1800;
update emp
set sal=sal*1.06
where sal between 1800.01 and 2600;
update emp
set sal=sal*1.04
where sal>=2600.01;
O problema é que não sei como juntar todos esses comandos, se alguém puder me ajudar, ficaria muito grato.
Desde já agradeço pela atenção, Obrigado.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP

Druffes,
Fiz uns testes aqui... com DECODE e SIGN...

Segue abaixo:

Selecionar tudo



UPDATE tb_teste 
SET salario    =  DECODE(SIGN(salario - 1300), -1, 
                        (Salario + (Salario * (10/100))), -- 10 por cento                        
                  DECODE(SIGN(Salario - 1800), -1, 
                        (Salario + ( Salario * ( 8/100))), -- 8 por cento 
                  DECODE(SIGN(Salario - 2600), -1, 
                        (Salario + ( Salario * ( 6/100))), -- 6 por cento                          
                     ( Salario + (Salario * (4/100))) ))); -- 4 por cento 

Acho que é o caminho...
Altere para o nome da tua tabela/campo e, faça os testes...

Abraço,

Paulo Trevisolli.
Breno
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 02 Jul 2007 2:23 pm
Localização: Belém-PA
..::Breno Adorador::..

Ola druffes td bem?
Meu amigo onde você fex esse curso?
Eu sou iniciante também e você pode me enviar o material deste curso junto com os exercícios? Caso querias também posso te enviar um exemplo de uma prova de certificação e um material oficial da Oracle.
Fico no aguardo.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes