Como saber se existe tabela em um banco de dados Firebird?
Olá pessoal! Vamos ver como é simples verificar via SQL
se uma tabela existe no Firebird.
Eis o SQL:
1
2
3
| SELECT COUNT(*) QTDE
FROM RDB$RELATIONS
WHERE RDB$FLAGS=1 AND RDB$RELATION_NAME= 'NOME_TABELA' |
SELECT COUNT(*) QTDE
FROM RDB$RELATIONS
WHERE RDB$FLAGS=1 and RDB$RELATION_NAME= 'NOME_TABELA'
Isto já é o suficiente para testar se foi ou não encontrada a tabela.
Caso queria fazer o teste via componentes, geralmente nos componentes
de conexão, existe o método GetTableNames, o qual preenche uma TStrings
com as tabelas do banco.
Esta forma é válida para qualquer tipo de banco de dados!
Veja um exemplo com Firedac:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| procedure VerificaTabela;
var
vListaTabela : TStrings;
begin
vListaTabela := TStringList.Create;
FdConnection1.GetTableNames('', '', '', vListaTabela);
if vListaTabela.IndexOf('CLIENTE') < 0 then
begin
ShowMessage('Tabela cliente encontrada!');
end;
vListaTabela.Free;
end; |
procedure VerificaTabela;
var
vListaTabela : TStrings;
begin
vListaTabela := TStringList.Create;
FdConnection1.GetTableNames('', '', '', vListaTabela);
if vListaTabela.IndexOf('CLIENTE') < 0 then
begin
ShowMessage('Tabela cliente encontrada!');
end;
vListaTabela.Free;
end;
Espero que seja útil pessoal!
Link de referência: https://www.devmedia.com.br/forum/com-saber-se-existe-tabela-em-firebird/278624
-
Giovani Da Cruz
-
7.603 views
- 0 comentários
- 13 de dezembro de 2017
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo