Announcement

Collapse
No announcement yet.

need help beim Projekt - StoredProcs + "check"

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • need help beim Projekt - StoredProcs + "check"

    Ich muss zur Zeit ein Projekt anfertigen, die da lautet:
    Spedition hat lkws + sprinter, lkw brauch Führerscheinklasse3 und Sprinter nur (d.h. mit 3 auch fahrbar) Klasse 2. Es gibt 20 Fahrer (16 á Klasse2, 4 á Klasse3)
    Ich soll nun sicherstellen, dass diese Fahrer das richtige Fahrzeug fahren.
    Vorweg is erklärt dass ich eine Einsatztabelle erstellen muss wo Datum,Fahrzeug und Fahrer enthalten sind. Desweiteren muss ich 4 StoredProcs erstellen wozu ich am ende nochmal kommen werde.
    Zunächst mal das mit der Führerscheinklasse.... ich habe nun 3 Tabellen erzeugt:
    t_einsatz (Id(int),fahrer(int),fahrzeug(int),datum)
    t_fahrer (id(int),name(varchar(30)),fsklasse(int))
    t_fahrzeug (id(int),typ(varchar(30)),fsklasse(int))

    foreign keys sind von t_einsatz zu den id's der beiden anderen tabellen gesetzt. sprich "fahrer" zu "t_fahrer.id"
    soweit so gut.... nun war ich am überlegen wie ich das hinkriege dass die passende fsklasse zu dem fahrzeug passt... ich dachte hierbei an das check constraint...wobei ich feststellen musste, dass man dies nur auf eine tabelle anwenden kann... nun ist meine frage ob ich spalten erzeugen muss (in t_einsatz) die einmal die FSklasse der fahrer anzeigt und einma die der fahrzeuge...(kann man überhaupt verknüpfen ?) oder ob es sonst eine lösung hierfür gibt?

    soo komm ich zu den storedprocs...
    die ersten 3 sind ziemlich ähnlich:
    p_fahrzeug soll für jedes Fahrzeug die Einsätze (datum/fahrer) ausgeben
    P_fahrer soll für jeden Fahrer die Einsätze ausgeben und
    p_datum soll für jedes Datum die EInsätze ausgeben

    hierbei bin ich auf eine lösung gestoßen, die jedoch für alle 3 der selbe ist:

    begin
    for
    select fahrzeug, fahrer, datum
    from t_einsatz a
    into :FAHRZEUG, :FAHRER, ATUM
    do
    begin
    suspend;
    end
    end

    nun ist meine frage hierzu, kann man zB die Fahrzeuge so Gruppieren dass jedes Fahrzeug zB da nur einma steht und die dazugehörigen Einsätze aufgelistet sind, oder ist das "wirklich" die gesucht lösung?!

    der letzte storedproc lautet: p_frei was für ein bestimmtes Datum die freien Einsätze ausgibt
    -für die StoredProcs sind auch sql befehle anzugeben (diese sind aber einfach aus dem storedproc zu entnehmen oder irre ich mich da?)



    ich hoffe um eine baldige Lösung da ich selbst nicht mehr soviel zeit habe und auch durchs endlose googlen nicht mehr weiter komme... achja, ich arbeite mit IbExpert!

    mfg viewL

  • #2
    Ich verstehe nicht ganz, was die SP soll, die im obigen Beispiel nichts anderes tut als ein View.

    Um zu schauen, ob die Führescheinklassen von Fahrer und Fahrzeug bei einem Einsatz passen brauchst Du noch nur auf den Einstaz zu selecten, dabei über die IDs zu den anderen beiden Tabellen joinen und die Führerscheinklassen zu vergleichen.

    Für den Einsatz würde ich einen Before Insert Trigger erzeugen, der dann über genau solch einen Join testet, ob die Führescheinklassen zusammenpassen.
    Dirk

    Comment

    Working...
    X