Зависимость таблиц и процессов - PullRequest
0 голосов
/ 29 мая 2019

Я новичок в схеме и не уверен, как заполняется таблица (как данные вставляются в таблицу).Как мы можем узнать?

Это должно сработать.

select *
from dba_source
where upper(text) like '%TABLE_NAME%'

Но так как у меня нет прав администратора, я не могу выполнить эту команду.Как еще можно это выяснить?

Ответы [ 2 ]

1 голос
/ 29 мая 2019

Чтобы увидеть зависимости между объектами, к которым у вас есть доступ, вы можете запросить all_dependencies представление словаря данных .В этом случае:

select * from all_dependencies where referenced_name = 'YOUR_TABLE_NAME';

Если объекты находятся в вашей собственной схеме, когда вы можете использовать представление user_dependencies.Если вы хотите видеть объекты, к которым у вас нет привилегий, вы можете использовать dba_dependencies, но, похоже, у вас вряд ли будут права, необходимые для запроса этого представления, поскольку вы не можете видеть dba_source.

Конечно, это будет определять только ссылки в вашем хранимом коде PL / SQL;он не скажет вам ни о каком внешнем коде приложения, который выполняет вставки непосредственно в базу данных (в отличие от процедур CRUD), или о вставках вручную.

И он только скажет вам, какие объекты имеют зависимости, вы 'Вам все равно придется копаться в исходном коде объекта, либо запросив у all_source (или user_source, если вы владелец) соответствующий тип и имя.Я бы не допустил ложных срабатываний, скажем, в комментариях, в которых упоминается имя таблицы в коде, к которому нет доступа.Вы также можете сделать это вне базы данных - надеюсь, ваш код находится под контролем исходного кода (верно!?).

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

Если вы знаете запрос, который нужно выполнить, но не обладаете необходимыми привилегиями, то, возможно, вы можете написать запрос, используя представления USER_ или ALL_, чтобы проверить синтаксис, затем измените представление на DBA_ и попросите администратора баз данных выполнить запрос длявы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...