Предположим, нам нужно узнать количество таблиц, вью и триггеров у пользователей БД SYS
, SYSTEM
и SCOTT
. Первым приходит в голову такое решение:
SQL> SELECT owner, object_type, count(*)
FROM all_objects
WHERE object_type IN ('TABLE', 'VIEW', 'TRIGGER')
AND owner IN ('SYS', 'SYSTEM', 'SCOTT')
GROUP BY owner, object_type
ORDER BY owner, object_type;
OWNER OBJECT_TYPE COUNT(*)
-------------------- -------------------- -----------
SCOTT TABLE 4
SYS TABLE 998
SYS TRIGGER 10
SYS VIEW 3865
SYSTEM TABLE 157
SYSTEM TRIGGER 2
SYSTEM VIEW 12
7 rows selected
Что ж, мы получили ответ на наш вопрос. Но результат не нагляден. Куда нагляднее был бы такой ответ:
OBJECT_TYPE SYS SYSTEM SCOTT
-------------------- ---------- ---------- ----------
TRIGGER 10 2 0
TABLE 998 157 4
VIEW 3865 12 0