Как обернуть пакет - PullRequest
       1

Как обернуть пакет

3 голосов
/ 01 марта 2012

Я создал пакет, тело которого содержит более 7000 строк, я хочу обернуть его с помощью DBMS_DLL SUBPROGRAMS. Может кто-нибудь предложить мне шаги?

1 Ответ

1 голос
/ 01 марта 2012

Предполагая, что "7000 строк" переводится в более чем 32 КБ, вы можете сделать что-то вроде

declare
  l_sql dbms_sql.varchar2a;
begin
  l_sql(1) := 'CREATE OR REPLACE PACKAGE pkg_foo ';
  l_sql(2) := 'AS ';
  l_sql(3) := '  PROCEDURE proc_foo( col1 IN NUMBER ); ';
  l_sql(4) := 'END;';
  dbms_ddl.create_wrapped( l_sql, 1, 4 );
end;

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

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