/************************************************************************* * The contents of this file are subject to the Adempiere License. You may * obtain a copy of the License at http://www.adempiere.org/license.html * Software is on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either * express or implied. See the License for details. Code: Adempiere ERP+CRM * Copyright (C) 1999-2001 Jorg Janke, ComPiere, Inc. All Rights Reserved. ************************************************************************* * $Id: 8_CleanUp.sql,v 1.1 2006/04/21 17:51:58 jjanke Exp $ *** * Title: Clean up / delete all non table objects * Description: * - Functions * - Trigger * - Procedures * - Packages * - Views ************************************************************************/ DECLARE CURSOR CUR_Func IS SELECT Object_Name FROM USER_Objects WHERE Object_Type='FUNCTION'; CURSOR CUR_Trg IS SELECT Trigger_Name FROM USER_Triggers; CURSOR CUR_Proc IS SELECT Object_Name FROM USER_Procedures WHERE Procedure_Name IS NULL; CURSOR CUR_Pack IS SELECT Object_Name FROM USER_Procedures WHERE Procedure_Name IS NOT NULL; CURSOR CUR_View IS SELECT View_Name FROM USER_Views; v_cmd VARCHAR2(256); BEGIN -- Functions FOR f IN CUR_Func LOOP v_cmd := 'DROP FUNCTION ' || f.Object_Name; BEGIN DBMS_OUTPUT.PUT_LINE (f.Object_Name); EXECUTE IMMEDIATE v_Cmd; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ('** Error ** ' || v_cmd); END; END LOOP; -- Trigger FOR t IN CUR_Trg LOOP v_cmd := 'DROP TRIGGER ' || t.Trigger_Name; BEGIN DBMS_OUTPUT.PUT_LINE (t.Trigger_Name); EXECUTE IMMEDIATE v_Cmd; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ('** Error ** ' || v_cmd); END; END LOOP; -- Function/Procedures FOR t IN CUR_Proc LOOP v_cmd := 'DROP PROCEDURE ' || t.Object_Name; BEGIN DBMS_OUTPUT.PUT_LINE (t.Object_Name); EXECUTE IMMEDIATE v_Cmd; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ('** Error ** ' || v_cmd); END; END LOOP; -- Package FOR t IN CUR_Pack LOOP v_cmd := 'DROP PACKAGE ' || t.Object_Name; BEGIN DBMS_OUTPUT.PUT_LINE (t.Object_Name); EXECUTE IMMEDIATE v_Cmd; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ('** Error ** ' || v_cmd); END; END LOOP; -- Views FOR t IN CUR_View LOOP v_cmd := 'DROP VIEW ' || t.View_Name; BEGIN DBMS_OUTPUT.PUT_LINE (t.View_Name); EXECUTE IMMEDIATE v_Cmd; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ('** Error ** ' || v_cmd); END; END LOOP; END; /