Oracle Data Dictionary лучшие практики и рекомендации - PullRequest
0 голосов
/ 29 мая 2018

Лучше всего иметь в своем приложении код PL / SQL, который запрашивает представления Oracle Data Dictionary (all_tab_columns и т. Д. ...)?Должны ли эти представления использоваться только для администраторов баз данных и разработчиков, поскольку они работают ежедневно?

Пример: мне нужно проверить, может ли переменная соответствовать размеру столбца таблицы.Это будет задано внутри процесса, вызываемого любыми пользователями приложения.

1 Ответ

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

Ваш пример может быть не самым лучшим, поскольку есть другие способы сделать это.Например, определите переменную PL / SQL как table.column%type, а затем перехватывайте любые исключения, которые возникают (например, из-за проблем длины) при попытке вставить в нее пользовательские данные.

В общем, я нахожу этоочень необычно для производственного кода запрашивать из словаря данных.Но я делал это время от времени и не помню, чтобы у него возникали какие-то особые проблемы, кроме как помнить, что владелец объекта PL / SQL должен иметь прямые привилегии для словаря и не может получать к ним доступ через роль, поскольку ролиотключены в именованных блоках PL / SQL, имеющих права определителя.

...