



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' |
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; |
Espero que seja útil pessoal!
Link de referência: https://www.devmedia.com.br/forum/com-saber-se-existe-tabela-em-firebird/278624