SQL - CHECK Regel für eine Datumsüberprüfung

RainerM

Grünschnabel
Hallo,

ich möchte gerne wissen, ob es möglich ist, bei einem TABLE CREATE eine CHECK Regel zu definieren, welche schon eingepflegete Daten überprüfen kann... hier ein kleines beispiel:

Klaus hat zwei termine:
einen vom 2004-10-22 bis zum 2004-10-28
und den anderen am 2004-10-10 bis zum 2004-10-14

soo... das ist die ausgangs situation.. kann ich mit dem Datenbank managemant system beim einfügen eines Neuen Datensatztes überprüfen, in welchem Zeitraum ein Termin noch möglich ist

Ist das überhaupt möglich weil im grunde wäre ja ein SQL Select befehl notwendig, um überhaupt festzustellen, das dieser NEUE (2004-10-15 bis zum 2004-10-19) zeitraum frei ist.. von daher, ich hoffe ihr könnt mir irgendwie helfen....

Vielen Dank schon mal
 
Mir würde da nur ein Select einfallen, so ala

SELECT count(*) FROM `tabelle` WHERE 'neues_datum' >= `start_datum` AND 'neues_datum' <= `end_datum`

Das sucht dir dann die Anzahl aller Fälle raus bei denen Das neue Datum zwischen Start und Enddatum liegt.
Müsste ggf falls aber auch anders mit den möglichen Zeitfunktionen von mysql (siehe doku) funktionieren.
 
klar, das wäre eine möglichkeite, allerdings wird das ja nicht beim einfügen des datensatzes überprüft.. ich meine, kann ich automatisieren, das bei jedem INSERT diese abfrage gemacht wird.. und zwar OHNE Software implementierung, sondern direkt in SQL
 
Meine Kristallkugel wußte leider auch nicht welches RDBMS du benutzt!
Mit Oracle könnte man ohne "Software implementierung" eventuell mit einem Trigger ... before ... inserting oder mit einer PL/SQL-Procedure die Prüfungen usw. beim Insert durchführen.
Da braucht's aber schon etwas tiefere SQL-Kenntnisse.
 
vielen dank es ging mir nicht unbedingt um eine perfekte Lösung, da ich mich noch nicht für ein rdbms "entschieden" habe... aber vielen dank... gibt es denn in anderen RDBMS vielleicht auch solche Möglichkeiten Aber sag mal, wenn deine Kristallkugel dir das nicht sagen konnte, was für ne Meinung hat denn der kleine Troll unterm Tisch *G*

Also das es eine Möglichkeit gibt sowas in Oracle zu Managen, ist schon sehr gut


DANKE
 
Zurück