2017-01-16 3 views
-2

enter image description hereSo fügen Validierung um Daten

Schüler eine beliebige Anzahl von CourseBatchCode auswählen,

in Fall 3 CourseBatchCode ausgewählt ist Dies ist meine Tabelle I Validierung auf den Tisch legen wollen, dass

1) ENDTIME sollte nicht zwischen folgender Startzeit und Endzeit liegen

2) EndTime sollte kleiner sein als folgende Startzeit und Endzeit

+0

bitte Beispieltabellendaten als Text schreiben und mit Beispielen erläutern – TheGameiswar

+0

Dies ist die Daten selbst .IF Validierungen sind nicht wahr dann Drucken Fehler Nachricht – Akki

+0

Bitte überprüfen Sie diesen Link, wie Sie gute Fragen stellen: https: //spaghettidba.com/2015/04/24/how-to-post-at-sql - Frage-auf-einem-öffentlichen-Forum/ – TheGameiswar

Antwort

1

Wenn Sie überprüfen möchten, dass EndTime nach StartTime für eine bestimmte Zeile ist, dann können Sie eine Prüfbedingung wie folgt verwenden;

ALTER TABLE [YourTableName] 
ADD CONSTRAINT [startBeforeEnd] 
CHECK (
    [EndTime] > [StartTime] 
) 

Wenn Sie die Check-Einschränkung über die Reihen arbeiten wollen würden Sie einen Trigger verwenden müssen, oder erstellen Sie vielleicht ein UDF (User Defined Function) und verwenden Sie diese in der Constraint - jedoch diese sind in der Regel abgeraten, da Es ist leicht, mit ihnen logische und Leistungsprobleme zu verursachen.

Die empfohlene Vorgehensweise in diesen Fällen ist diese Art der Validierung auf der Client (Anwendung) Seite zu tun und nicht darüber in der Datenbank kümmern ...

Verwandte Themen