Jak wyświetlić listę wszystkich tabel w schemacie w Oracle SQL?

Jak wyświetlić listę wszystkich tabel w schemacie w Oracle SQL?

 129
Author: benstpierre, 2010-02-11

13 answers

Aby zobaczyć wszystkie tabele w innym schemacie, musisz mieć jedno lub więcej z następujących uprawnień systemowych:

SELECT ANY DICTIONARY
(SELECT | INSERT | UPDATE | DELETE) ANY TABLE
Albo big-hammer, rola DBA.

Z którymkolwiek z nich możesz wybrać:

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

Bez tych uprawnień systemowych, możesz zobaczyć tylko tabele, do których uzyskałeś pewien poziom dostępu, czy to bezpośrednio, czy poprzez rolę.

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

Wreszcie, zawsze możesz zapytać słownik danych o własne tabele, ponieważ Twoje prawa do tabel nie mogą być "Type": "content"]}

SELECT DISTINCT OBJECT_NAME 
  FROM USER_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'
 188
Author: Adam Musch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-03 16:20:33
SELECT table_name  from all_tables where owner = 'YOURSCHEMA';
 58
Author: Tom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-12 00:53:02

Możesz zapytać USER_TABLES

select TABLE_NAME from user_tables
 12
Author: Sathya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-11 20:00:41

Jeśli zalogowałeś się jako zwykły użytkownik bez uprawnień DBA, możesz użyć następującego polecenia, aby zobaczyć wszystkie tabele i widoki własnego schematu.

select * from tab;
 4
Author: chan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-28 03:19:12

Spróbuj tego, zastąpić ? z nazwą schematu

select TABLE_NAME from  INFORMATION_SCHEMA.TABLES
 WHERE TABLE_SCHEMA =?
  AND TABLE_TYPE = 'BASE TABLE'
 3
Author: SQLMenace,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-11 21:20:23

Jeśli korzystasz z Oracle z JDBC (Java), możesz użyć klasy DatabaseMetadata . Jeśli uzyskujesz dostęp do Oracle z ADO.NET możesz użyć podobnego podejścia.

Jeśli korzystasz z Oracle z ODBC, możesz użyć funkcji sqltables.

W przeciwnym razie, jeśli potrzebujesz tylko informacji w sqlplus lub podobnym kliencie Oracle, wystarczy jedno z zapytań już wymienionych. Na przykład:

select TABLE_NAME from user_tables
 2
Author: Pablo Santa Cruz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-11 20:13:54
select * from user_tables;

(wyświetlanie wszystkich tabel)

 2
Author: yash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-07 17:16:57
select * from cat;

Wyświetli wszystkie tabele w twoim schemacie katalogu user_catalog

 1
Author: Arsalan Sheikh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-11 00:00:34

SELECT table_name, owner FROM all_tables where owner= 'schema_name' order by table_name

 1
Author: Sreeju,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-09 21:50:08

Spójrz na Moje proste narzędzie , aby pokazać trochę informacji o schemacie db. Opiera się na: inżynierii odwrotnej model danych Korzystanie ze słownika danych Oracle

 0
Author: Michał Niklas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-11 20:01:22
select TABLE_NAME from user_tables;

Powyższe zapytanie poda nazwy wszystkich tabel obecnych w tym użytkowniku;

 0
Author: A A Nayak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-28 18:18:06

Jeśli chcesz również uzyskać rozmiar tabeli, będzie to przydatne:

select SEGMENT_NAME, PARTITION_NAME, BYTES from user_segments where SEGMENT_TYPE='TABLE' order by 1

 0
Author: Vijay Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-25 04:08:29

Nazwa tabeli i licznika wierszy dla wszystkich tabel pod schematem OWNER:

SELECT table_name, num_rows counter from DBA_TABLES WHERE owner = 'OWNER'

 0
Author: SergioLeone,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-28 13:30:01