我创建了一个包含超过7000行的包,我想用DBMS_DLL SUBPROGRAMS包装它。任何人都可以建议我的步骤吗?
答案 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;
确保您将包的实际来源安全地存储在数据库之外 - 包装后无法打开包装,因此任何未来的修改都需要从未包装的源开始。