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