[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