Interbase/Firebird INFORMATION_SCHEMA

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

Deixe um Comentário