Количество подсчетов в Oracle
Как MySQL имеет "SHOW TABLES", как вы подсчитываете таблицы в Oracle DB. Немногочисленные исследования дали мне этот запрос:
select owner, count(*) from dba_tables
Так как MySQL имеет стандартную команду, имеет ли Oracle один?
Ответы
Ответ 1
Да, ваш запрос будет работать, просто немного измените его. Посмотрите здесь для refrence: http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_2105.htm#i1592091
Запустите это:
SELECT TABLE_NAME FROM DBA_TABLES;
чтобы получить список таблиц.
и запустите это:
SELECT Count(*) FROM DBA_TABLES;
чтобы получить количество таблиц.
Ответ 2
попробовать:
SELECT COUNT(*) FROM USER_TABLES;
Ну, у меня нет оракула на моей машине, я запускаю mysql (комментарий OP)
на момент написания статьи этот сайт был отличным для тестирования по различным типам баз данных.
Ответ 3
Выберите count (*) FROM all_tables, где owner = 'schema_name'
Ответ 4
Если вы хотите получить список владельцев и подсчет количества таблиц на одного владельца, попробуйте:
SELECT distinct owner, count(table_name) FROM dba_tables GROUP BY owner;
Ответ 5
Эти документы описывают представления словаря данных:
all_tables: http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_4473.htm#REFRN26286
user_tables: http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2105.htm#i1592091
dba_tables: http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_4155.htm#i1627762
Вы можете запускать запросы в этих представлениях, чтобы подсчитать, что вам нужно.
Чтобы добавить что-то еще к ответу @Anurag Thakre:
Используйте этот запрос, который даст вам владельцы
SELECT COUNT(*),tablespace_name FROM USER_TABLES group by tablespace_name;
Или владельцами таблиц:
SELECT COUNT(*), owner FROM ALL_TABLES group by owner;
Само имя таблицы не идентифицирует уникального владельца объекта. Несколько пользователей могут создавать объекты в одном и том же табличном пространстве, а один пользователь может создавать объекты в различных табличных пространствах.
Общепринятой практикой является разделение таблиц и индексов на разные табличные пространства.
Ответ 6
Пожалуйста, найдите ниже - его самый простой, который я использую:
select owner, count(*) from dba_tables group by owner;
Ответ 7
REM setting current_schema is required as the 2nd query depends on the current user referred in the session
ALTER SESSION SET CURRENT_SCHEMA=TABLE_OWNER;
SELECT table_name,
TO_NUMBER (
EXTRACTVALUE (
xmltype (
DBMS_XMLGEN.getxml ('select count(*) c from ' || table_name)),
'/ROWSET/ROW/C'))
COUNT
FROM dba_tables
WHERE owner = 'TABLE_OWNER'
ORDER BY COUNT DESC;
Ответ 8
Используйте этот запрос, который даст вам фактическое количество учетных записей в отношении владельцев таблиц.
SELECT COUNT(*),tablespace_name FROM USER_TABLES group by tablespace_name;
Ответ 9
select COUNT(*) from ALL_ALL_TABLES where OWNER='<Database-name>';
.....
Ответ 10
ЭТОТ QUERY НАЙДЕТ ВСЕ СЧЕТЫ ОБЪЕКТОВ В КОНКРЕТНОЙ СХЕМЕ
select owner, object_type, count(*) from dba_objects where owner='owner_name' group by owner, object_type order by 3 desc;