Announcement

Collapse
No announcement yet.

Check Klausel

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

  • Check Klausel

    Ich habe folegned Tabelle:
    CREATE TABLE Hotel
    (Zimmernr SMALLINT NOT NULL,
    Ankunft DATE NOT NULL,
    Abreise DATE NOT NULL,
    Gast CHAR(30),
    PRIMARY KEY (Zimmernr, Ankunft)
    CHECK (Abreise >= Ankunft))
    Es ist durch die verwendete Check-Klausel nicht möglich vor der Ankunft abzureisen. Wie kann ich es erreichen, dass ein bereits belegtes Zimmer nicht noch mal vergeben wird. Durch eine BETWEEN-abfrage der Ankunft- und Abfahrtzeiten kann ich ja den Aufenthaltszeitraum definieren. Wie kann ich aber die gerade eingegeben Zimmernummer in die geschilderte Ahänigkeit einbinden? Die Überprüfung sollte im DBMS realisiert werden und nicht in einer seperaten Anwendung. Weiß vielleicht irgendjemand Rat?

  • #2
    Hi,
    <br>
    <br>das könnte man in einem Input Trigger machen. D. h. die check Anweisung fällt weg. Wenn ein Datensatz eingefügt oder geändert wird, so wird der Trigger aufgerufen und die zu speichernden Daten werden getestet und nur gespeichert, wenn sie bestimme Bedingungen erfüllen.
    <br>Das funktioniert natürlich nur, wenn dein DBMS Trigger unterstützt.
    <br>
    <br>
    <br>mfg
    <br>p

    Comment

    Working...
    X