ich eine Tabelle mit 4 Spalten (ID (PK, int, NOT NULL), col1 (NULL), col2 (NULL), col3 (NULL))Können sich CHECK-Einschränkungen wie sonst verhalten?
Id gerne eine CHECK-Einschränkung (auf Tabellenebene hinzufügen ich denke), so dass:
if col1 OR col2 are NOT NULL then col3 must be NULL
und wenn col3 NOT nULL ist dann col1 und col2 muss nULL sein
dh col3 sollte null sein, wenn col1 und col2 nicht null sind oder umgekehrt
Ich bin sehr neu in SQL und SQL Server obwohl ein Ich bin mir nicht sicher, wie ich das tatsächlich umsetzen soll oder ob es überhaupt umgesetzt werden kann/soll.
Ich denke, vielleicht:
CHECK ((col1 NOT NULL OR col2 NOT NULL AND col3 NULL) OR
(col3 NOT NULL AND col1 NULL AND col2 NULL))
Aber ich bin nicht sicher, ob die Klammern zu einer Gruppe wie diese die Logik verwendet werden können?
Wenn nicht, wie kann das am besten umgesetzt werden?
Nein, meine Tabellen auf einem Live-Server mit vielen anderen sind Sachen, die Arbeit verwendet, also möchte ich nicht Dinge vermasseln: O – Toby
Haben Sie keine äquivalente Entwicklungsumgebung? – Yuck
Nein, habe auch keine Möglichkeit, hier einen zu setzen, sonst hätte ich so angefangen (auch wenn ich erwähnt habe, dass ich sehr neu bei SQL bin und nicht wüsste, wo ich den SQL-Server oder die Datenbank von Grund auf neu einrichten soll). – Toby