Selecionar campo se existir

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
netonasc
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 13
Registrado em: Qui, 05 Mai 2016 9:10 am

Bom dia pessoal,

Alguém sabe como faço para fazer um select onde será testado se o campo existe na tabela, se existir ele será selecionado se não existir não fara nada.
Preciso fazer um select em uma tabela em várias bases e existe alguns campos diferentes nesta tabela em cada base.

Obrigado.
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Boa tarde neto,

Você não pode criar views nestas base e quando o campo não existir a a visão trata null nome do campo?
Você teria uma estrutura pre definida para a view com todos os campos possíveis.

Mas se é só montar o SELECT, veja se isso ajuda alguma coisa:

Declare
v_no_tabe varchar2(100) := 'CORPORACAO';
--
Cursor C is
Select Column_name, count(1) over () as reg
From user_tab_Columns
Where table_name = v_no_tabe
Order by column_id;
c_r c%rowtype;
--
v_Contador number := 0;
--
Begin
Dbms_output.put_line('Select');
--
Open C;
Loop
fetch c into c_r;
Exit When C%notfound;
--
v_Contador := v_Contador + 1;
if v_Contador < c_r.reg then
Dbms_output.put_line(lower(c_r.Column_name)||',');
Else
Dbms_output.put_line(lower(c_r.Column_name));
End If;
--
End Loop;
Close C;
--
Dbms_output.put_line('From '||v_no_tabe);
--
Dbms_output.put_line('/');
End;
/
Responder
  • Informação
  • Quem está online

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