Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Romulo Petri

Consulta condicional por resultado

Recommended Posts

Boa tarde, sou novo no mundo Oracle e estou tendo dificuldade para realizar uma consulta.

 

Possuo uma base de dados de rh, e preciso produzir uma consulta para um relatorio, nessa consulta eu defino o campo orgão, existem duas formas para encontrar o valor desse campo, eu tento a primeira(com alguns joins em algumas tabelas) caso não me retorne nada, eu realizo a segunda consulta e pego o valor do campo orgão lá.

 

Gostaria de saber como posso fazer isso no oracle?

Alguém pode me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei bem se é isto mas crie uma function

 

algo assim :

 

create or replace function f_lotacao(pcod in number)

is

vs_lot varchar2(100);

begin

begin

select lotacao into vs_lot from funcionarios where cod = pcod;

exception

when no_data_found then

select lotacao into vs_lot from terceiros where cod = pcod;

when others then

raise_application_error(-20001,'erro');

end;

return vs_lot;

end;

 

 

no select do rel

 

select cod, f_lotacao(cod) lotacao from ....

 

fica um pouco mais custoso , mais a query do rel é mais simples e a function é reutilizável

 

 

--

 

dependendo da situação uma view que junte as duas tabelas de pesquisa pode ser criada também, assim a query do rel busca na view

 

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

 

se a pesquisa for mais complexa a solução da function em geral é melhor

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.