Auf Thema antworten

Ich würde es ohne TRIGGER machen, eher so:


[code]

test=# create table kunde (id int primary key, name text);

test=*# create table ausleihe (kunde int references kunde, ausleih_slot int, valid bool, check (ausleih_slot between 1 and 4));

test=*# create unique index idx_ausleihe on ausleihe (kunde, ausleih_slot) where valid;

[/code]


Der Check-Constraint sagt, daß es nur 4 mögliche Ausleih-Slots gibt - 1 bis 4. Der partielle Index gilt nur für aktive Ausleihen. Gibt der Kunde das Leihgut zurück, wird das Valid-Flag auf false gesetzt.


Ob das so in DB/Halbe geht weiß ich nicht, in MYSQL (dein Nick) geht es aber nicht - das kann keine partiellen Indexe.


Zurück
Oben