Insert-Trigger (aber ein bisschen kompliziert)

Migelinho

Mitglied
HI

Ich bin an einer SchulungsDB dran und komme nicht mehr weiter. Hab von MSSQL nicht ne grosse Ahnung, hoffe jemand kann mir weiterhelfen.

Es geht um die Tabellen: t_kurs, t_raum, t_kursbesuche (siehe Anhang)

Ich möchte gerne ein Trigger erstellen, dass beim einfügen eines Kurses automatisch nachschaut wieviele Plätze das Schulungszimmer hat (t_raum.plaetze) und wieviel der Kurs überbucht werden kann (t_kurs.ueberbuchung), diese 2 Werte addiert und dann in der Tabelle t_kursbesuche so viele tupel wie die Summe eröffnet. Die t_kursbesuche.id soll aus der Kursnummer bestehen plus kn (Bsp. Beim Kurs 14 wäre es "14k01", "14k02" "14k03" usw..) Die restlichen Felder sollen "Null" sein.

Hoffe ich hab es genug detailliert erklärt.


Danke im Voraus
Migelinho
 

Anhänge

ich weiss weder, wie man ein trigger erstellt, noch wie ich das mit den plätzen lösen kann?

geht es überhaupt über ein trigger?

noch weiss ich wie man vordefinierte id's erstellen kann?


wie schon gesagt, einfaches sql ist nicht ein Problem aber sobald es komplizierter wird hab ich Schwierigkeiten.

Gruss
Migelinho
 
Hi

Hab mal ein bisschen versucht. Hab folgendes hingekriegt:

CREATE TRIGGER trg_erstelleKBid ON t_kurs
FOR INSERT
AS
INSERT INTO t_kursbesuche (id, t_kurs_id, t_mitarbeiter_id, kb_status)
VALUES ('01k01', Null, Null, Null)


jetzt müsste ich nur noch das mit den Plätzen berechnen. D.H. Falls das Schulungszimmer 7 Plätze hätte und ich 3 Überbuchungen machen durfte, müsste er mir 10x ein Insert Into erstellen.

und was ich auch noch nicht hingekriegt habe ist folgendes:

Die ID (im Beispiel 01k01) soll automatisch aus der Kursnummer und dann das "k" und eine fortlaufende zahl (max bis Summe ==> plätze + überbuchungen) gebildet werden.

Kann mir jemand weiterhelfen?

Danke und Gruss
Migelinho
 
Zurück