Crusher-ScT-
Guest
Hi,
folgendes DB Schema ist gegeben:
Auto (Kennzeichen, Fabrikat, Modell, PS, Erstzulassung, km_Stand, Kosten_je_km)
Kunde (KDNR, Name, Adresse)
Mietvertrag (KDNR, Auto, von, bis, Preis, bezahlt?, km_gefahren)
Aufgabe:
Simulieren Sie die folgenden Assertions über Trigger.
a)Kein Leihwagen darf vor seiner Erstzulassung vermietet werden.
Lösungsansatz:
Create Trigger Erstzulassung_check
BEFORE INSERT on Mietvertrag
FOR EACH STATEMENT
WHEN new.auto.erstzulassung > new.von;
BEGIN
RAISE_APPLIKATION_ERROR (-20003,'Erstzulassung noch net da');
END;
Problem:
new.auto.erstzulassung geht halt nicht. Leider scheinbar nicht ganz so einfach wie in JAVA . Allerdings kann ich jaauch net einfach in die WHEN Bedingung ein SELECT reinhauen. Das hätte ja eigentlich auch keinen Sinn.
Hat jemand einen Vorschlag ?
p.s. DB System ist Oracle 8
Gruss Crusher
folgendes DB Schema ist gegeben:
Auto (Kennzeichen, Fabrikat, Modell, PS, Erstzulassung, km_Stand, Kosten_je_km)
Kunde (KDNR, Name, Adresse)
Mietvertrag (KDNR, Auto, von, bis, Preis, bezahlt?, km_gefahren)
Aufgabe:
Simulieren Sie die folgenden Assertions über Trigger.
a)Kein Leihwagen darf vor seiner Erstzulassung vermietet werden.
Lösungsansatz:
Create Trigger Erstzulassung_check
BEFORE INSERT on Mietvertrag
FOR EACH STATEMENT
WHEN new.auto.erstzulassung > new.von;
BEGIN
RAISE_APPLIKATION_ERROR (-20003,'Erstzulassung noch net da');
END;
Problem:
new.auto.erstzulassung geht halt nicht. Leider scheinbar nicht ganz so einfach wie in JAVA . Allerdings kann ich jaauch net einfach in die WHEN Bedingung ein SELECT reinhauen. Das hätte ja eigentlich auch keinen Sinn.
Hat jemand einen Vorschlag ?
p.s. DB System ist Oracle 8
Gruss Crusher