create view ashsource as select * from source@REPO; set serveroutput on exec dbms_output.enable(1000000); create or replace procedure reash is vPkg dbms_sql.varchar2s; vBdy dbms_sql.varchar2s; vCursor integer; vPkgcnt pls_integer:=0; vBdycnt pls_integer:=0; begin for i in ( select text from ashsource where name='ASH' and type='PACKAGE' ) loop vPkgcnt:= vPkgcnt+ 1; vPkg( vPkgcnt):=i.text; dbms_output.put_line('.'||replace(i.text,chr(10))); end loop; for i in ( select text from ashsource where name='ASH' and type='PACKAGE BODY' ) loop vBdycnt:= vBdycnt + 1; vBdy( vBdycnt):=i.text; dbms_output.put_line('.'||replace(i.text,chr(10))); end loop; vPkg(1):='create or replace '||vPkg(1); vBdy(1):='create or replace '||vBdy(1); dbms_output.put_line('Opening Cursor'); vCursor:=dbms_sql.open_cursor; dbms_sql.parse(vCursor,vBdy, 1,vBdy.count,true,dbms_sql.native); dbms_sql.close_cursor(vCursor); vCursor:=dbms_sql.open_cursor; dbms_sql.parse(vCursor,vPkg, 1,vPkg.count,true,dbms_sql.native); dbms_sql.close_cursor(vCursor); --exception end; / show errors exec reash