Page 1 of 1

Ex11 Clearup database script

Posted: Fri Nov 29, 2013 12:43 am
by Chris Walton

Code: Select all

// Database Cleanup Script

WRITELN "/*** Clears the database of all user defined elements. ***/";
WRITELN;

BEGIN TRANSACTION;

FOR 
  UNION { 
    EXTEND sys.Catalog { Name, Owner, CreationSequence } WHERE Owner <> "Rel" : {
      Deletion := "DROP VAR " || Name || ";" }  { CreationSequence, Deletion },
    EXTEND sys.Types { Name, Owner, CreationSequence } WHERE Owner <> "Rel" : { 
      Deletion := "DROP TYPE " || Name || ";" } { CreationSequence, Deletion },
    EXTEND sys.Constraints { Name, Owner, CreationSequence } WHERE Owner <> "Rel" : { 
      Deletion := "DROP CONSTRAINT " || Name || ";" } { CreationSequence, Deletion },
    EXTEND ( ( sys.Operators UNGROUP ( Implementations ) ) WHERE CreatedByType = "" ) {
      Name, Owner, CreationSequence, Signature } WHERE Owner <> "Rel" : { 
        Deletion := "DROP OPERATOR " || Name || SUBSTRING ( 
          Signature, INDEX_OF ( Signature, "(" ), 
          INDEX_OF ( Signature, ")" ) + 1 ) || ";" } { CreationSequence, Deletion } }
  ORDER ( DESC CreationSequence );
  EXECUTE Deletion;
END FOR;

COMMIT;

WRITELN "End of Script.";