Exibir nome dos campos em um relatório

Dicas e truques sobre Oracle Reports Builder - modo gráfico ou modo caractere, ascii, arquivo .PRT, etc
Responder
Avatar do usuário
Marciel
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 158
Registrado em: Qui, 03 Mai 2007 10:12 am
Localização: Vitória - ES

Olá a todos.
Preciso desenvolver um relatório no qual seja exibido o nome dos campos em uma tabela que não estão preenchidos. Saber quais campos estão vazios é fácil, mas como fazer para obter o nome do campo?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, procura na ALL_TAB_COLUMNS:

Selecionar tudo


SELECT COLUMN_NAME
  FROM all_tab_columns
WHERE table_name ='NOME_SUA_TABELA'
qualquer coisa, manda ai.
Avatar do usuário
Marciel
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 158
Registrado em: Qui, 03 Mai 2007 10:12 am
Localização: Vitória - ES

Isso não ajuda muito... Como relacionar ALL_TAB_COLUMNS com a tabela na qual estou verificando se os campos estão nulos? Não há uma função q retorne o nome do campo de uma tabela?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Uma dica é a seguinte:

1) Verificar os campos da tabela que podem ser nulos:

Selecionar tudo

SELECT column_name 
  FROM all_tab_columns 
 WHERE table_name ='NOME_SUA_TABELA' 
   AND nullable='Y';
2) Em posse dessas informações, montar um cursor dinâmico (pode ser um REF CURSOR) que faz a leitura desses campos e verifica se ele está nulo ou não.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, tem como você dizer, mais especificamente do que precisa no teu relatório?
Você tem uma determinada tabela e, precisa apresentar as informações de que forma?
Avatar do usuário
Marciel
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 158
Registrado em: Qui, 03 Mai 2007 10:12 am
Localização: Vitória - ES

Cara, o problema é o seguinte:
Preciso de uma SQL que retorne o nome dos campos da tabela que não tenham sido preenchidos. Ex:

Selecionar tudo

SELECT CÓDIGO, CLIENTE, TELEFONE
FROM CLIENTES
WHERE CÓDIGO = 1
Quero que a partir desse select retorne os campos que não estão preenchidos. Se por exemplo se o campo telefone estiver nulo, retorne TELEFONE. Não sei se expliquei bem... O objetivo disso é criar um relatório de validação, informando ao usuário quais campos faltam ser preenchidos.

Obrigado pela atenção.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, não sei se te ajuda mas...

Você não poderia estar validando isso, no próprio relatório, nas triggers dos campos que serão (ou não) exibidos?

Ex:

Selecionar tudo

if Campo_X is null
then
  return(TRUE);
end if;
qualquer coisa, manda ai.
Avatar do usuário
Marciel
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 158
Registrado em: Qui, 03 Mai 2007 10:12 am
Localização: Vitória - ES

Nossa cara... uma solução tão simples e eu quebrando a cabeça... Assim com certeza vai me atender.

Valeu. :-o
Responder
  • Informação
  • Quem está online

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