Исследуйте базу данных Oracle с помощью SQL Developer - PullRequest
0 голосов
/ 02 сентября 2018

Я нахожусь в проекте, который требует, чтобы я запросил базу данных и сгенерировал ad-hoc отчеты со столбцами, указанными пользователем.

Когда я работал с DB2 в другой базе данных с небольшим количеством документации о доступных таблицах и столбцах, я мог также использовать запросы, подобные тем, которые упомянуты ниже, чтобы получить то, что я искал

select * from syscat.procedures where procschema like 'ABCD' and text like '%your text%';
select * from syscat.columns where tabschema like 'ABCD' and colname like '%yourtext%';

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

Существуют ли такие запросы в Oracle, как те, что я упоминал выше от DB2, которые могли бы помочь мне найти то, что мне нужно из базы данных?

1 Ответ

0 голосов
/ 02 сентября 2018

Добро пожаловать в Oracle!

Поскольку вы пометили SQL Developer, я покажу вам, как делать то, что вы хотите там делать.

Но сначала, интересующие вас взгляды:

  • ALL_TAB_COLUMNS
  • ALL_SOURCE

Но, чтобы использовать GUI для поиска этих представлений ...

Вы можете использовать отчеты для изучения нашего словаря данных.

enter image description here

Вы можете пойти несколькими путями, но вот пример, отчет Columns.

enter image description here

Пока вы просматриваете, вы можете наблюдать за панелью выписок в разделе «Журнал». Итак, вы можете видеть, что мы запрашиваем

enter image description here

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

фрагмент SQL:

      owner         sdev_link_owner,
       table_name    sdev_link_name,
       'TABLE' sdev_link_type
   from sys.dba_tab_columns
  where (:owner is null
     or instr(
     owner,

DBA_TAB_COLUMNS ( Документы Oracle )

Вы заметите, что есть и DBA_TAB_COLUMNS, и ALL_TAB_COLUMNS. Только «суперпользователь» может запрашивать представления DBA_. Любой может просматривать представления ALL_, но вы сможете видеть только те объекты, к которым у вас есть права доступа к базе данных.

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

Итак, попробуйте отчеты, ответьте на ваши вопросы. Изучите используемый нами SQL, изучите словарь данных.

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

Удачи в вашем путешествии Oracle!

...