Bom pessoal, vou compartilhar no meu blog informações referentes ao meu atual trabalho como Analista e Programador PL/SQL para facilitar a pesquisa sobre alguns assuntos relacionados a Oracle e Programação PL/SQL.
Bloco PL/SQL para dropar objetos do schema
set serveroutput on size 99999999;
declare
vCursor number;
vComando varchar2(2000);
vError number;
vUser varchar2(200);
begin
select user into vUser from dual;
if (vUser = 'APPS' or vUser = 'SYSTEM' or vUSer = 'SYS') then
dbms_output.put_line('SCHEMA NÃO PERMITIDO');
else
dbms_output.put_line('DROPANDO OBJETOS');
vCursor := dbms_sql.open_cursor;
for rObjetos in (select *
from user_objects
where object_type in
('TABLE','FUNCTION','PROCEDURE','SYNONYM','VIEW','PACKAGE','SEQUENCE')
) loop
vComando := 'Drop '||rObjetos.object_type|| ' ' || rObjetos.object_name;
if rObjetos.object_type = 'TABLE' then
vComando := vComando || ' cascade constraint';
end if;
dbms_sql.parse(vCursor, vComando, dbms_sql.native);
vError := dbms_sql.execute(vCursor);
end loop;
dbms_sql.close_cursor(vCursor);
end if;
end;
/
--------------------------------------------------------------------------------------------------
Atualização do Script abaixo:
BEGIN
DECLARE
vComando VARCHAR2(2000);
vUser VARCHAR2(200);
BEGIN
SELECT USER INTO vUser FROM dual;
IF (vUser = 'APPS' OR vUser = 'SYSTEM' OR vUSer = 'SYS')
THEN
dbms_output.put_line('SCHEMA NÃO PERMITIDO');
ELSE
dbms_output.put_line('DROPANDO OBJETOS');
FOR rObjetos IN (SELECT *
FROM user_objects
WHERE object_type IN ('TABLE',
'FUNCTION',
'PROCEDURE',
'SYNONYM',
'VIEW',
'PACKAGE',
'SEQUENCE'))
LOOP
BEGIN
vComando := 'Drop ' || rObjetos.object_type || ' ' ||
rObjetos.object_name;
IF rObjetos.object_type = 'TABLE'
THEN
vComando := vComando || ' cascade constraint';
END IF;
EXECUTE IMMEDIATE vComando;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('ERRO : ' || SQLCODE || ' - ' ||
SQLERRM);
END;
END LOOP;
END IF;
END;
END;
Fonte:
http://dicasoracledba.blogspot.com.br/2009/04/bloco-plsql-para-dropar-objetos-do.html
Nenhum comentário:
Postar um comentário