140 votos

¿Cómo puedo listar todas las tablas de un esquema en Oracle SQL?

¿Cómo puedo listar todas las tablas de un esquema en Oracle SQL?

198voto

Adam Musch Puntos 8021

Para ver todas las tablas de otro esquema, es necesario tener uno o más de los siguientes privilegios de sistema:

SELECT ANY DICTIONARY
(SELECT | INSERT | UPDATE | DELETE) ANY TABLE

o el gran martillo, el papel de DBA.

Con cualquiera de ellos, puedes seleccionar:

SELECT DISTINCT OWNER, OBJECT_NAME 
  FROM DBA_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'
   AND OWNER = '[some other schema]'

Sin esos privilegios de sistema, sólo puede ver las tablas a las que se le ha concedido algún nivel de acceso, ya sea directamente o a través de un rol.

SELECT DISTINCT OWNER, OBJECT_NAME 
  FROM ALL_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'
   AND OWNER = '[some other schema]'

Por último, siempre puede consultar el diccionario de datos para sus propias tablas, ya que sus derechos sobre sus tablas no pueden ser revocados (a partir de 10g):

SELECT DISTINCT OWNER, OBJECT_NAME 
  FROM USER_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'

63voto

Tom Puntos 16783
SELECT table_name  from all_tables where owner = 'YOURSCHEMA';

13voto

Sathya Puntos 9277

Puede consultar USER_TABLES

select TABLE_NAME from user_tables

4voto

chan Puntos 11

Si ha iniciado la sesión como usuario normal sin permiso de DBA, puede utilizar el siguiente comando para ver todas las tablas y vistas de su propio esquema.

select * from tab;

3voto

SQLMenace Puntos 68670

Pruebe esto, sustituya ? por el nombre de su esquema

select TABLE_NAME from  INFORMATION_SCHEMA.TABLES
 WHERE TABLE_SCHEMA =?
  AND TABLE_TYPE = 'BASE TABLE'

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X