если SELECT table_name, num_rows from all_tables
не дает вам того, что вам нужно.
Вы можете использовать динамический SQL и считать, как выбран Рахул.
Выполните приведенную ниже команду, чтобы получить результаты, которые динамически объединяют все таблицы, затем запустите результаты как собственный запрос, чтобы получить окончательные результаты.
SELECT 'SELECT ' ||t.name || ' as tName, count(*) as Row_Cnt
FROM ' || t.name || ' UNION ALL '
FROM ALL_TABLES t
Просто не забудьте удалить последний оператор объединения в последнем запросе.
Также обратите внимание: если у вас нет доступа для просмотра таблицы, она не появится в этом списке!
--- Обновлено ------ Итак, если all_tables не существует, ничего из этого не сработает. Поскольку у меня нет под рукой экземпляра oracle 7 ... могли бы вы увидеть, возвращает ли SELECT * FROM dictionary
что-нибудь, что могло бы создать список всех таблиц? Если вы найдете объект представления или таблицы, используйте его вместо all_tables выше.
Я сейчас читаю документы для oracle 7, но нахожу их немного удобными для поиска. таким образом, метод предположения и проверки может работать быстрее.
person
xQbert
schedule
15.04.2015
SELECT table_name, num_rows from all_tables
это таблица статистики, которую механизм db использует для определения оптимальных путей выполнения, они не 100%, но обычно достаточно близки. Также обратите внимание, all_tables ограничен тем, что у вас есть для просмотра. Если у вас нет прав доступа к таблице, вы не сможете увидеть количество таблиц / записей в результатах. - person xQbert   schedule 15.04.2015