[firebase-br] Dicionario de dados

Marcelo Marchionny marcelomarchionny em gmail.com
Qui Maio 3 15:22:49 -03 2007


Valeu Denis, até consegui fazer algo do que tinha pensado ainda tenho que
implementar mais algumas coisas para ficar da forma como tinha pensado...

Ai esta a stored procedure caso algum colega precise.

Pergunta, como pego o tamanho do campo e o tipo dele e ainda se ele é not
null ou não?

Abraço.
Marcelo Lopes
POA - RS


CREATE PROCEDURE DFD_LIST_STRUCTURES
AS
DECLARE VARIABLE TABELA VARCHAR(100);
DECLARE VARIABLE CAMPOS VARCHAR(100);
BEGIN
  /* BUSCA TODAS AS TABELAS E VIEWS DISPONIVEIS */
  FOR SELECT A.RDB$RELATION_NAME FROM RDB$RELATIONS A
      WHERE (A.RDB$SYSTEM_FLAG <> 1 OR A.RDB$SYSTEM_FLAG IS NULL)
      AND    A.RDB$VIEW_BLR IS NULL ORDER BY A.RDB$RELATION_NAME
      INTO :TABELA
  DO
  BEGIN
  /* INSERI AS TABELA E VIEW DISPONIVEIS NO DICIONARIO DE DADOS */
  INSERT INTO DFD_TABELAS VALUES (GEN_ID(GEN_DFD_TABELAS, 1), :TABELA);

    /* BUSCA OS FIELDS DA TABELA */
    FOR SELECT B.RDB$FIELD_NAME FROM RDB$RELATION_FIELDS B
        WHERE  B.RDB$RELATION_NAME = UPPER(:TABELA)
        INTO :CAMPOS
    DO
    BEGIN
      /* INSERI OS CAMPOS DE CADA TABELA LISTADA */
      INSERT INTO DFD_CONTROLS (ID_CONTROL, CONTROL_NAME) VALUES
(GEN_ID(GEN_DFD_CONTROLS, 1), :CAMPOS);
    END
  END
END


Em 03/05/07, Denis <denisrocha em hotmail.com> escreveu:
>
> Mas vc não precisa criar estas tabelas. Isto pode ser extraído do próprio
> banco de dados. Eu não sei exatamente as tabelas de sistema que tenho que
> acessar. Mas tem como sim. Dê uma pesquisada.
>
> Denis
>
>
>
> "Marcelo Marchionny"
> <marcelomarchionny em gmail.com> escreveu na
> mensagem news:82c2d5a40705031027u7ee57144xee78dd524a22ce42 em mail.gmail.com
> ...
> Boa tarde, Pessoal !!!
>
> Tipo tenho (ainda no verbo errado o correto seria ainda terei) duas
> tabelas
> onde em uma guardarei minhas tabelas e views e outra os campos de cada
> tabela e ou view. Gostaria de fazer isso via stored procedure mas não sei
> como fazer isso numa procedure.
> alguém poderia me dar um help na criação desta procedure.
>
> Abraço.
> Marcelo Lopes
> POA - RS
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista