Bom, lógica de programação é algo muito simples!
Vc tem que saber o que exatamente vc quer que o teu código faça...

Vc criou ali um IF (não sei se foi vc que fez ou se vc copiou o código)
pra testar se o cara é "presidente" ou "vp", pois se for, daí vc não
testa o salário do cara... então não faz sentido vc fazer o select FORA
do primeiro if, senão vc poderá estar executando um select a toa.
Então é melhor vc executar dentro do primeiro IF.




2012/9/18 Antony Ferreira <tonyferrei...@gmail.com>

> **
>
>
> A select eu teria que fazer dentro do primeiro IF ou antes do IF, como
> estou começando a pegar os esquemas do PLSQL agora, tem coisas que eu fico
> na duvida um pouco.
>
> Em 18 de setembro de 2012 17:52, Milton Bastos Henriquis Jr. <
> miltonbas...@gmail.com> escreveu:
>
>
> > Boa tarde!
> >
> > Suas perguntas já estão todas respondidas por você mesmo... rs....
> > Está tudo correto o que vc falou.
> >
> > Faça um SELECT INTO para pegar o valor do salário do gerente
> > do sujeito e armazenar numa variável.
> > Depois compare o valor do salário do sujeito com a variável...
> > Se for maior, vc dispara a exceção.
> >
> >
> >
> >
> > 2012/9/18 Antony Ferreira <tonyferrei...@gmail.com>
> >
> > > **
>
> > >
> > >
> > > Boa tarde pessoal,
> > >
> > > Estou começando a estudar um pouco de PL/SQL e me surgiu umas duvidas.
> > > Tenho a seguinte trigger:
> > >
> > > CREATE OR REPLACE TRIGGER imp_novos_emp
> > > BEFORE INSERT OR UPDATE ON employees
> > > FOR EACH ROW
> > > BEGIN
> > > IF NOT (:NEW.job_id IN ('AD_PRES', 'AD_VP')) THEN
> > > IF :NEW.salary > 15000 THEN
> > > RAISE_APPLICATION_ERROR (-20202,'Este empregado não pode receber este
> > > valor');
> > > END IF;
> > > END IF;
> > > END imp_novos_emp;
> > > /
> > >
> > > Qual seria a melhor maneira para eu poder impedir que seja inserido um
> > novo
> > > empregado que tenha o salario maior que o gerente.
> > >
> > > Eu teria que fazer uma consulta na coluna manager_id da tabela
> employees
> > e
> > > verificar se o salario do empregado que eu estou add é maior que o do
> > > gerente?
> > > Outra duvida, posso colocar uma excessão para mostrar que o salario é
> > > invalido quando o salario do empregado que eu estou add é maior que o
> do
> > > gerente?
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> >
> > --
> > Att,
>
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
>
> >
> >
> > ----------------------------------------------------------
> > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> > inteira responsabilidade de seus remetentes.
> > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> >
> > ----------------------------------------------------------
> > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> > Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
> ESPAÇO!
> > VISITE: http://www.oraclebr.com.br/
> > ----------------------------------------------------------
> > Links do Yahoo! Grupos
>
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Att,


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a