Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Obtener nombre de tablas de un database (https://www.clubdelphi.com/foros/showthread.php?t=43113)

ghbass86 02-05-2007 19:34:07

Obtener nombre de tablas de un database
 
Saludos a todos, ¿hay alguna forma de obtener los nombres de las tablas de una base de datos interbase?

Gracias!!!

jhonny 02-05-2007 20:02:56

Prueba el siguiente SQL:

Código SQL [-]
 
select RDB$RELATION_NAME from RDB$RELATIONS
where RDB$RELATION_NAME not like('RDB%')

Ese sql te mostrara las tablas y las vistas.

jhonny 02-05-2007 20:06:33

Claro que explorando un poco me di cuenta que se ve mas bonito así:
Código SQL [-]
 
select RDB$RELATION_NAME, RDB$SYSTEM_FLAG from RDB$RELATIONS
where RDB$SYSTEM_FLAG = 0

ghbass86 02-05-2007 20:14:22

Muchas gracias!!!
Funciona perfectamente

jhonny 02-05-2007 20:15:35

Nunca me había puesto a ver cuantas maneras hay de obtener la lista de las tablas que no pertenecen al sistema, también se puede hacer asi:

Código SQL [-]
select RDB$RELATION_NAME, RDB$SYSTEM_FLAG from RDB$RELATIONS
where RDB$FLAGS not is null
Pero se sigue viendo mas bonito como el 2do Post. :D

Bueno, en todo este hilo no he mencionado que si las quieres todas incluso las del sistema, tendríamos que hacer solo:

Código SQL [-]
select RDB$RELATION_NAME, RDB$SYSTEM_FLAG from RDB$RELATIONS

Nota: Que bueno que ya te funcione :D.

jhonny 02-05-2007 20:37:22

Bueno, y si quieres solo las tablas sin las vistas, podrías probar algo como esto:
Código SQL [-]
 
select T.RDB$RELATION_NAME from RDB$RELATIONS T
where T.RDB$SYSTEM_FLAG = 0 and
T.RDB$RELATION_NAME not in (select V.RDB$VIEW_NAME from RDB$VIEW_RELATIONS V)


La franja horaria es GMT +2. Ahora son las 06:01:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi