97 lines
2.7 KiB
SQL
97 lines
2.7 KiB
SQL
/*************************************************************************
|
|
* 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;
|
|
/
|
|
|