Fórum Se a tabela existe então open else create #46530

04/09/2004

0

Olá

Estou a dar os meus primeiros passos no Fb e a minha dúvida é a seguinte
Como posso saber se uma tabela existe no meu banco.
O que pretendo fazer é o seguinte.

Se a tabela existe então open else create.

Obrigado desde já.

Joelpa.


Joelpa

Joelpa

Responder

Posts

06/09/2004

Fsflorencio

Você pode dar um select numa das tabelas de Sistema do FireBird:

SELECT * FROM RDB$RELATIONS
WHERE RDB$RELATION_NAME = ´NOME_DA_TABELA ´

Note que vc deve adicionar espaços no nome da tabela até preencher todos os 31 caracteres.
Se retornar alguma coisa quer dizer que a tabela existe, senão vc dá o seu Create.


Responder

Gostei + 0

06/09/2004

Afarias

|Note que vc deve adicionar espaços no nome da tabela até preencher
|todos os 31 caracteres.

:?: :?: por que??!



T+


Responder

Gostei + 0

06/09/2004

Renato_sp

Aproveitando a duvida do rapaz !!! lendo tbm fiquei um pouco com duvida, e ai vai ela.

O que seria esse RDB$RELATIONS, ele armazena nomes de tabelas que estao criadas? poderia me falar um pouco dele... pq mesmo funcionando o codigo gostaria de entender o pq isso... assim quando precisar ou ate mesmo utilizar um recurso a mais (RDB$RELATIONS) o qual eu nao conheco... Muito obrigado.. !!!!

Renato


Responder

Gostei + 0

06/09/2004

Afarias

|O que seria esse RDB$RELATIONS, ele armazena nomes de tabelas que
|estao criadas?

Exatamente isso! É uma tabela de sistema q guarda informações sobre as tabelas do banco de dados.


|poderia me falar um pouco dele... pq mesmo funcionando o codigo
|gostaria de entender o pq isso...

É apenas uma tabela como outra qualquer, vc pode usá-la para retirar informações sobre as tabelas do seu banco de dados.

Se precisar de informações sobre os campos da tabela dai vc tem q consultar tb a rdb$relation_fields

e por ai vai... existem diversas tabelas de sistema com informações sobre os demais objetos do banco de dados


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar