/* */ -- Die Generierung der Types ************************* CREATE TYPE Typ_Adresse AS OBJECT ( plz NUMBER(5), ort VARCHAR2(20), strasse VARCHAR2(20), hausnr VARCHAR2(5) ); / -- Vorwärtsdeklaration Typ_Firma CREATE TYPE Typ_Firma; / CREATE TYPE Typ_FirmaTab AS TABLE OF REF Typ_Firma; / CREATE TYPE Typ_Firma AS OBJECT ( RegNr INTEGER, Name VARCHAR2(20), Adresse Typ_Adresse, Umsatz INTEGER, Subunternehmen Typ_FirmaTab, MEMBER FUNCTION getAnzSubunternehmen RETURN INTEGER ); / CREATE OR REPLACE TYPE BODY Typ_Firma AS MEMBER FUNCTION getAnzSubunternehmen RETURN INTEGER is BEGIN return self.Subunternehmen.count END; END; / CREATE TABLE T_Firma OF Typ_Firma( RegNr primary key) NESTED TABLE Subunternehmen STORE AS Firma_Subunternehmen_Liste;