create or replace procedure ExecDll(strsql clob) is
pragma autonomous_transaction;
v_execsql varchar2(32000);
begin
if dbms_lob.getlength(strsql)<=10000 then
v_execsql := dbms_lob.substr(strsql,30000,1);
else
v_execsql := dbms_lob.substr(strsql,10000,1)||dbms_lob.substr(strsql,10000,10001)||dbms_lob.substr(strsql,10000,20001);
end if;
EXECUTE IMMEDIATE v_execsql;
commit;
end ExecDll;
pragma autonomous_transaction;
v_execsql varchar2(32000);
begin
if dbms_lob.getlength(strsql)<=10000 then
v_execsql := dbms_lob.substr(strsql,30000,1);
else
v_execsql := dbms_lob.substr(strsql,10000,1)||dbms_lob.substr(strsql,10000,10001)||dbms_lob.substr(strsql,10000,20001);
end if;
EXECUTE IMMEDIATE v_execsql;
commit;
end ExecDll;