QA tryalter added
svn path=/Database/trunk/; revision=19143
This commit is contained in:
@@ -6,6 +6,7 @@ CREATE OR REPLACE PACKAGE adm
|
||||
AS
|
||||
PROCEDURE systrackscript (n IN VARCHAR2, r IN VARCHAR2, force IN NUMBER);
|
||||
PROCEDURE trydrop (n IN VARCHAR2);
|
||||
PROCEDURE tryalter (n IN VARCHAR2);
|
||||
END adm;
|
||||
/
|
||||
|
||||
@@ -72,6 +73,34 @@ AS
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- DDL. Probeert een object (TABLE, INDEX e.d.) te alteren, maar moppert niet als die niet bestond
|
||||
-- Hiermee voorkomen we foutmeldingen in logfiles die niet erg zijn
|
||||
PROCEDURE tryalter (n IN VARCHAR2)
|
||||
AS
|
||||
stmt VARCHAR2 (1000);
|
||||
BEGIN
|
||||
stmt := 'ALTER ' || n;
|
||||
|
||||
EXECUTE IMMEDIATE stmt;
|
||||
DBMS_OUTPUT.put_line ('Found, successfully altered: ' || n);
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
IF SQLCODE IN (-942, -1418, -2289, -4043, -4080)
|
||||
THEN
|
||||
-- did not exist, voor table, view, index, sequence, object and trigger
|
||||
DBMS_OUTPUT.put_line ('Not found, not altered: ' || n);
|
||||
NULL;
|
||||
ELSIF SQLCODE IN (-955)
|
||||
THEN
|
||||
-- object already exist
|
||||
DBMS_OUTPUT.put_line ('Already exists, not altered: ' || n);
|
||||
NULL;
|
||||
ELSE
|
||||
raise_application_error (-20001, 'Error trying to ALTER ' || n || ': ' || SQLERRM);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
END adm;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user