Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Regeln sind veraltet, was ist stattdessen (TSQL)?

Nun, ein Grund, warum Regeln wahrscheinlich an der Seitenlinie stehen, ist, dass ich glaube, dass Sie mit Regeln nur eine pro Spalte haben können und sie nur Daten überprüfen, die in die Datenbank gelangen, das heißt, sie überprüfen keine bereits in der Datenbank vorhandenen Daten. Mit Check-Einschränkungen können Sie mehrere Einschränkungen für eine bestimmte Spalte haben und sie erzwingen alle Daten (eingehende Daten und Daten, die sich bereits in der Datenbank befinden). In Anbetracht der Tatsache, dass Regeln eine schwache Lösung für Check Constraints zu sein scheinen, hat Microsoft wahrscheinlich endlich erkannt, dass es an der Zeit war, sie loszuwerden, außerdem sind sie kein SQL-Standard.

Wenn eine Check-Einschränkung nicht ausreicht, können Sie auch einen Trigger für eine ausgefeiltere Logik verwenden.