Как просматривать таблицы в Oracle

Обновлено: 21.11.2024

Мы можем получить список всех таблиц в базе данных Oracle тремя способами в зависимости от привилегий пользователя.

Содержание

Мы можем показать или перечислить все таблицы в Oracle, запросив словари данных Oracle. Словарь данных в Oracle — это группа таблиц, доступных только для чтения, которые предоставляют пользователям полезную информацию о базе данных, такую ​​как схемы, пользователи, привилегии и т. д.

Список всех таблиц в базе данных Oracle, принадлежащих текущему пользователю Oracle:

Приведенный ниже запрос возвращает список всех таблиц, принадлежащих текущему пользователю.

Список всех таблиц в базе данных Oracle, к которым имеет доступ Текущий пользователь:

В приведенном ниже запросе перечислены все таблицы в оракуле, доступные текущему пользователю.

В столбце владельца отображается имя владельца таблицы. В таблице user_tables нет столбца владельца.

Список всех таблиц в базе данных Oracle (вся база данных):

Чтобы получить список всех таблиц в базе данных Oracle (вся база данных), используйте приведенный ниже запрос.

Однако вы можете получить сообщение об ошибке "ORA-00942: таблица или представление не существует", если у вас нет доступа к dba_tables. Вы должны попросить своего администратора базы данных явным образом предоставить вам привилегии для этой таблицы, либо привилегию SELECT ANY DICTIONARY, либо роль SELECT_CATALOG_ROLE (оба из них позволяют запрашивать любую таблицу словаря данных).

dba_tables содержат информацию обо всех таблицах в текущей базе данных. Принимая во внимание, что all_tables можно рассматривать как подмножество dba_tables, к которому имеет доступ текущий пользователь. user_tables содержит информацию о таблицах, принадлежащих текущему пользователю.

Список всех таблиц в Oracle

ALL_ALL_TABLES в Oracle:

Представления all_tables и all_all_tables содержат сведения о таблицах, к которым у текущего пользователя есть доступ.

Но, кроме того, ALL_ALL_TABLES также вернет все таблицы объектов (созданные системой или нет), доступные текущему пользователю.

Представление ALL_ALL_TABLES включает как объектные, так и реляционные таблицы.

Существует разница между количеством столбцов, возвращаемых ALL_ALL_TABLES и ALL_TABLES в Oracle.

ALL_ALL_TABLES имеют 3 дополнительных столбца, в которых содержится подробная информация о типе объекта, для которого была создана таблица объектов, и используемом типе идентификатора объекта, как показано ниже

  1. ОБЪЕКТ_ID_TYPE
  2. TABLE_TYPE_OWNER
  3. ТАБЛИЦА_TYPE

Если вы хотите увидеть разницу только между двумя представлениями, вы можете использовать запрос выбора

Если в наших схемах нет объектных таблиц, мы все равно увидим некоторые объектные таблицы, используемые различными установленными функциями Oracle.

Подождите, прежде чем уйти. почему вы не можете подписаться на меня в твиттере или стать другом на фейсбуке или связаться со мной, чтобы связаться со мной.

Арункумар Гуделли

Я один из миллиона инженеров-программистов Индии. Я пишу красивую разметку. Я делаю Интернет полезным.

Вывод: в этом учебном пособии вы шаг за шагом узнаете, как отображать таблицы в базе данных Oracle с помощью запросов из представлений словаря данных.

Если вы работали с MySQL, возможно, вы знакомы с командой SHOW TABLES, которая выводит список всех таблиц в базе данных:

К сожалению, Oracle не поддерживает напрямую команду SHOW TABLES. Однако вы можете получить список всех таблиц в базе данных, выполнив запрос из различных представлений словаря данных.

Показать таблицы, принадлежащие текущему пользователю

Чтобы отобразить таблицы, принадлежащие текущему пользователю, выполните запрос из представления user_tables.

Обратите внимание, что в этом представлении не отображается столбец ВЛАДЕЛЕЦ. Кроме того, таблица user_tables не содержит других таблиц, доступных текущему пользователю.

Показать таблицы, доступные текущему пользователю

Чтобы отобразить все таблицы, доступные текущему пользователю независимо от владельцев, выполните запрос из представления all_tables:

Если вы хотите отобразить все таблицы определенного владельца, добавьте столбец OWNER в предложение WHERE, как показано в следующем запросе:

Показать все таблицы в базе данных Oracle

Чтобы отобразить все таблицы во всей базе данных Oracle, выполните запрос из представления dba_tables следующим образом:

Вы получите следующее сообщение об ошибке, если у вас нет доступа к представлению dba_tables:

В этом случае вам следует попросить администратора базы данных предоставить вашей учетной записи либо привилегии для представления dba_tables, либо привилегию SELECT ANY DICTIONARY, либо привилегию SELECT_CATALOG_ROLE.

На следующем рисунке показаны таблицы, которые могут быть возвращены из представлений user_tables , all_tables и dba_tables:

В этом руководстве вы узнали, как отображать таблицы в базе данных Oracle, выполняя запросы из представлений словаря данных, включая user_tables , all_tables и dba_tables .

Вы можете просматривать таблицы или представления, использующие настройки пользовательского интерфейса по умолчанию, либо перейдя на страницу настроек пользовательского интерфейса по умолчанию, либо просмотрев отчет о настройках пользовательского интерфейса по умолчанию в обозревателе объектов.

Темы в этом разделе включают:

Создание для пользовательского интерфейса по умолчанию

Чтобы создать настройки пользовательского интерфейса по умолчанию:

На главной странице Workspace щелкните значок Application Builder.

Появится домашняя страница Application Builder.

Выберите приложение.

В приложении нажмите Общие компоненты .

Откроется страница "Общие компоненты".

В разделе "Пользовательский интерфейс" выберите "Параметры пользовательского интерфейса по умолчанию" .

Откроется страница параметров пользовательского интерфейса по умолчанию.

Текущая схема отображается справа от меню навигации.

Чтобы сузить отображение, используйте следующие элементы управления в верхней части страницы и нажмите "Перейти" :

Таблица/представление. Введите запрос без учета регистра для имени таблицы или представления в текущей схеме.

Отображение — определяет типы отображаемых таблиц.

Просмотр — сделайте выбор, чтобы отфильтровать представление:

Значки (по умолчанию) отображает каждую таблицу или представление в виде большого значка.

Подробности отображают каждую таблицу или представление в виде строки в отчете с указанием имени таблицы или представления, типа объекта и того, существуют ли в настоящее время настройки пользовательского интерфейса по умолчанию.

Отображение определяет количество элементов, отображаемых в отчете.

Выберите конкретную таблицу или представление, выбрав имя.

Откроется страница "Параметры таблицы по умолчанию".

Если настройки пользовательского интерфейса по умолчанию отсутствуют, нажмите Создать настройки пользовательского интерфейса по умолчанию .

Вы также можете получить доступ к странице "Параметры пользовательского интерфейса по умолчанию", щелкнув "Параметры пользовательского интерфейса по умолчанию" в списке "Задачи" на домашней странице Application Builder или на домашней странице приложений. См. разделы «О домашней странице Application Builder» и «О домашней странице Application Builder».

Просмотр отчета по умолчанию пользовательского интерфейса в обозревателе объектов

Чтобы просмотреть отчет о подробностях пользовательского интерфейса в обозревателе объектов:

На главной странице Workspace нажмите SQL Workshop, а затем Object Browser .

Появляется браузер объектов.

В списке "Объект" выберите "Таблицы" или "Представления" .

На панели выбора объектов выберите объект.

Выберите вкладку "Параметры пользовательского интерфейса по умолчанию".

Появится отчет по умолчанию пользовательского интерфейса со следующей информацией:

Имя столбца — указывает имя столбца.

Ярлык — определяет текст метки по умолчанию для элементов в форме и заголовок для столбцов в отчетах.

Последовательность отчета. Указывает последовательность элементов в отчете.

Отображение отчета — указывает, как столбец должен отображаться в отчете.

Отображение табличной формы — указывает, как элемент должен отображаться в табличной форме.

Вам нужно получить список всех таблиц в вашей базе данных SQL?

Из этого руководства вы узнаете, как это сделать в базах данных нескольких разных поставщиков.

Показать таблицы SQL

Иногда вам нужно получить список таблиц из вашей базы данных. Это может помочь при тестировании, чтобы увидеть, какие таблицы существуют, прежде чем создать или удалить таблицу, или по какой-либо другой причине.

Если вы забыли название определенной таблицы или забыли, как пишется таблица (во множественном или единственном числе? Одно или два слова с символом подчеркивания?), вы можете использовать эти запросы, чтобы отобразить все таблицы в ваша база данных.

У каждого поставщика базы данных свой способ отображения таблиц. Иногда есть команда, у других запрос SELECT из словаря данных.

Давайте рассмотрим несколько способов в каждой базе данных.

Показать таблицы в Oracle SQL

В Oracle есть несколько различных встроенных представлений, которые вы можете использовать для поиска нужных данных. Вы можете запросить любое из этих представлений, чтобы получить список всех таблиц в Oracle.

Возможно, у вас нет прав на просмотр каждого из этих представлений, поэтому, если один запрос не работает, попробуйте другой.

Пользовательские таблицы

Чтобы просмотреть таблицы, принадлежащие текущему вошедшему в систему пользователю, вы можете запросить представление user_tables.

Показывает только таблицы, принадлежащие текущему пользователю. Сюда не входят таблицы, принадлежащие другим пользователям, которые могут видеть текущий пользователь.

Таблицы, доступные пользователям

Чтобы увидеть все таблицы, к которым может получить доступ текущий пользователь, вы можете запросить представление all_tables.

Вы можете добавить в представление столбец владельца, чтобы узнать, кому принадлежит таблица:

Это может показать вам много результатов, включая множество системных таблиц. Вы можете добавить предложение WHERE для поля владельца, чтобы фильтровать владельца.

Все таблицы базы данных

Если вы хотите получить список всех таблиц в базе данных Oracle, вы можете запросить представление dba_tables.

Это представление (и все остальные, начинающиеся с dba_) предназначены для администраторов баз данных. Если у вас нет прав администратора, вы получите эту ошибку:

Чтобы увидеть это представление, вам потребуется одна из следующих прав:

  • представление dba_tables
  • привилегия ВЫБРАТЬ ЛЮБОЙ СЛОВАРЬ
  • роль SELECT_CATALOG_ROLE

Если вы не уверены, является ли запрашиваемый объект таблицей или представлением, вы также можете запросить объекты dba_views, all_views или user_views.

Эти запросы выполняют UNION ALL, чтобы показать вам список всех таблиц и представлений в базе данных Oracle.

Читайте также: