Экспорт определенных пакетов Oracle (спецификация и тело) из командной строки SQL - PullRequest
0 голосов
/ 05 ноября 2018

Мы должны изменить существующие пакеты, но прежде чем вносить какие-либо изменения, нам нужно сделать резервную копию уже (существующих) пакетов в файле log / sql / text. Я хотел бы сделать резервную копию только тех пакетов, которые мы собираемся изменить во время выпуска. У нас нет разработчика SQL или какого-либо инструмента пользовательского интерфейса. Мы можем запустить из командной строки SQL.

Предположим, что есть 3 пакета, принадлежащие пользователю 'usr33' имена пакетов usr33_pkg135 usr33_pkg234 usr33_pkg456

Возможно ли это? если да, то как?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Один из вариантов - использовать пакет DBMS_METADATA, например

select dbms_metadata.get_ddl('PACKAGE', 'USR33_PKG135', 'USR33') result
from dual;

Еще один предназначен для выбора текста из USER_SOURCE:

select text from user_source where name = 'USR33_PKG135'
order by type, line;
0 голосов
/ 05 ноября 2018

Вы можете запросить исходный код пакетов, используя dbms_metadata:

SELECT DBMS_METADATA.GET_DDL(object_type=> 'PACKAGE', name=> ?, schema=> ?) from dual
...