Declarative Objectivity (DO) Language : Schema Clauses : DROP CLASS Clause
DROP CLASS Clause
A DROP CLASS clause deletes an existing class from the schema of a federated database.
   
Syntax 
dropClassClause : DROP CLASS className ;
Used In 
UPDATE SCHEMA Statement  
Quick Look 
Delete an existing schema class called FleetData.EfficiencyReport:
UPDATE SCHEMA 
{
   DROP CLASS FleetData.EfficiencyReport 
};
Discussion 
A DROP CLASS clause is an action clause of a UPDATE SCHEMA Statement. The clause:
Instructs UPDATE SCHEMA to delete an existing schema class.
Provides the name of the class to be dropped. If the class is to belong to a schema namespace, the new class name must include the namespace qualification.
Warning:Before you delete a class, it is strongly recommended that you delete all objects of that class from the federated database. Objects of the class become inaccessible after the class is deleted from the schema.
Multiple DROP CLASS clauses can be included in a single UPDATE SCHEMA statement.
The deleted class becomes unavailable to other database operations when the enclosing UPDATE SCHEMA statement returns. No class is deleted if the enclosing UPDATE SCHEMA statement returns an error.
Refering to Dropped Classes in the Same Schema Update
You can include a DROP CLASS clause in the same UPDATE SCHEMA statement with other action clauses. An error is returned if any of the action clauses to the dropped class, regardless of the relative order of the clauses within the statement.
Note:To avoid confusion, it is recommended that you perform DROP CLASS actions in a separate UPDATE SCHEMA statement, instead of combining them with other schema actions in the same statement.
Dropping a Class With Dependents
You may not use a DROP CLASS clause to delete an existing class that has dependents. If you need to delete a class that currently has dependents, you must first update each dependent class to remove the dependency.
If you want to delete a class that is used as a superclass, you must first drop each subclass.
If you want to delete a class that is the referenced class or the embedded class for an attribute of a dependent class, you must remove that attribute from the dependent class.