如何包装

时间:2012-03-01 05:28:31

标签: oracle

我创建了一个包含超过7000行的包,我想用DBMS_DLL SUBPROGRAMS包装它。任何人都可以建议我的步骤吗?

1 个答案:

答案 0 :(得分:1)

假设“7000行”转换为超过32k,您可以执行类似

的操作
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;

确保您将包的实际来源安全地存储在数据库之外 - 包装后无法打开包装,因此任何未来的修改都需要从未包装的源开始。