ORACLE: как найти все зависимости объектов столбца в конкретной таблице - PullRequest
1 голос
/ 20 мая 2019

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

SELECT   type,
           name
    FROM   user_dependencies
   WHERE   referenced_name = 'table_name'
ORDER BY   type,
           name

1 Ответ

0 голосов
/ 20 мая 2019

Пользовательские представления user_dependencies и user_source могут быть объединены для получения частей, в которых существует mytable s col0:

SELECT d.type, d.name, s.line as line_number, s.text
  FROM user_dependencies d
  LEFT JOIN user_source s
    ON s.name = d.name
 WHERE d.referenced_name = 'MYTABLE'
   AND upper(s.text) like '%COL0%'
 ORDER BY d.type, d.name

Для поиска по всей БД (при наличии прав)

SELECT d.type, d.name, s.line as line_number, s.text
  FROM dba_dependencies d
  LEFT JOIN dba_source s
    ON s.name = d.name
 WHERE d.referenced_name = 'MYTABLE'
   AND upper(s.text) like '%COL0%'
 ORDER BY d.type, d.name

Обратите внимание: фактически mytable.* неявно содержит также желаемый столбец.

...