First Commit - Source Code from Reply
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
set serveroutput on size 100000;
|
||||
declare
|
||||
s_object_name VARCHAR2(255);
|
||||
s_object_type VARCHAR2(255);
|
||||
ssql VARCHAR2(255);
|
||||
CURSOR packages_cur
|
||||
IS
|
||||
select object_name
|
||||
,object_type
|
||||
from user_objects
|
||||
where status='INVALID'
|
||||
and object_type in('FUNCTION', 'PACKAGE', 'PACKAGE BODY', 'PROCEDURE', 'TRIGGER','VIEW')
|
||||
order by case object_type
|
||||
when 'VIEW' then '0'||object_type
|
||||
when 'FUNCTION' then '1'||object_type
|
||||
when 'PACKAGE' then '2'||object_type
|
||||
when 'PACKAGE BODY' then '3'||object_type
|
||||
when 'PROCEDURE' then '4'||object_type
|
||||
when 'TRIGGER' then '5'||object_type
|
||||
else '9'||object_type
|
||||
end
|
||||
,object_name;
|
||||
BEGIN
|
||||
dbms_output.enable(1000000);
|
||||
for i in 1..3 loop
|
||||
OPEN packages_cur;
|
||||
LOOP
|
||||
FETCH packages_cur
|
||||
INTO s_object_name,
|
||||
s_object_type;
|
||||
EXIT WHEN packages_cur%NOTFOUND;
|
||||
begin
|
||||
|
||||
IF s_object_type = 'PACKAGE BODY'
|
||||
THEN
|
||||
ssql:='ALTER PACKAGE '||s_object_name||' COMPILE DEBUG BODY';
|
||||
execute immediate ssql;
|
||||
ELSIF s_object_type <> 'VIEW' and s_object_type <> 'TRIGGER'
|
||||
THEN
|
||||
ssql:='ALTER '||s_object_type||' '||s_object_name||' COMPILE DEBUG';
|
||||
execute immediate ssql;
|
||||
ELSE
|
||||
ssql:='ALTER '||s_object_type||' '||s_object_name||' COMPILE';
|
||||
execute immediate ssql;
|
||||
END IF;
|
||||
dbms_output.put_line('Eseguito correttamente '||ssql);
|
||||
exception
|
||||
when others then
|
||||
if i = 1 then
|
||||
null;
|
||||
else
|
||||
dbms_output.put_line('Oggetto: '||s_object_type||' '||s_object_name||' Errore: '||sqlerrm);
|
||||
end if;
|
||||
end;
|
||||
END LOOP;
|
||||
CLOSE packages_cur;
|
||||
end loop;
|
||||
end;
|
||||
/
|
||||
Reference in New Issue
Block a user