O standard SQL 2003 inclui um novo schema chamado INFORMATION_SCHEMA, PostgreSQL, SQL Server e MySql usam-no.
ORACLE, DB2, Sybase, Ingres, Informix e outras DBMS usam algo parecido chamado de System Tables. o Firebird usa METADATA TABLES, cujos nomes começam por “RDB$”.
Para listar todas as tables e views da Base de Dados:
SELECT DISTINCT RDB$RELATION_NAME FROM RDB$RELATION_FIELDS WHERE RDB$SYSTEM_FLAG=0;
ou
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG=0;
apenas tables:
SELECT DISTINCT RDB$RELATION_NAME FROM RDB$RELATION_FIELDS WHERE RDB$SYSTEM_FLAG=0 AND RDB$VIEW_CONTEXT IS NULL;
mais info em:
http://www.alberton.info/firebird_sql_meta_info.html
http://www.tecnobyte.com.br/dica9.html#dica208