From 16ac2281844e6ed25a7650c12d3d34404d1ad618 Mon Sep 17 00:00:00 2001 From: Peter Feij Date: Thu, 23 Feb 2012 14:56:02 +0000 Subject: [PATCH] svn path=/Database/trunk/; revision=11098 --- ADM/ADM_PAC.SRC | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/ADM/ADM_PAC.SRC b/ADM/ADM_PAC.SRC index d12feca5..d41a1023 100644 --- a/ADM/ADM_PAC.SRC +++ b/ADM/ADM_PAC.SRC @@ -1,10 +1,11 @@ -/* $Revision: 1 $ - * $Modtime: 7-09-10 9:13 $ +/* $Revision: 2 $ + * $Modtime: 22-02-12 14:20 $ */ CREATE OR REPLACE PACKAGE adm AS PROCEDURE systrackscript (n IN VARCHAR2, r IN VARCHAR2, force IN NUMBER); + PROCEDURE trydrop (n IN VARCHAR2); END adm; / @@ -47,8 +48,29 @@ AS END; END IF; END; - + + -- DDL. Probeert een object (TABLE, INDEX e.d.) te droppen, maar moppert niet als die niet bestond + -- Hiermee voorkomen we foutmeldingen in logfiles die niet erg zijn + PROCEDURE trydrop (n IN VARCHAR2) + AS + stmt VARCHAR2 (1000); + BEGIN + stmt := 'DROP ' || n; + + EXECUTE IMMEDIATE stmt; + EXCEPTION + WHEN OTHERS + THEN + IF SQLCODE IN (-942, -1418, -2289, -4043) + THEN + -- did not exist, voor table, view, index, sequence en object + NULL; + ELSE + raise_application_error (-20001, 'Error trying to DROP ' || n || ': ' || SQLERRM); + END IF; + END; + END adm; / -REGISTERRUN('$Workfile: ADM_PAC.SRC $','$Revision: 1 $') +REGISTERRUN('$Workfile: ADM_PAC.SRC $','$Revision: 2 $')