Hallöle,
wenn ich will, daß eine Spalte nicht NULL sein darf, geb ich beim CREATE TABLE für die entsprechende Spalte NOT NULL an, kein Problem.
Jetzt hab ich aber einen Fall, wo ich zwei Spalten (eine TEXT mit einem String, eine NR für eine Ganzzahl) habe, die nicht beide im gleichen Datensatz NULL sein dürfen, alle anderen Kombinationen sind erlaubt, also
TEXT NR
"bla", 17 zulässig
"bla", NULL zulässig
NULL, 17 zulässig
NULL, NULL NICHT zulässig
Kann man das irgendwie in der Tabellendefinition unterbringen?
Stored Procedures kann ich nicht nutzen (erlaubt der Provider nicht).
Das einzige, was mir einfiele, wäre, aus den zwei Spalten TEXT und NR mit Trennzeichen eine TEXT_NR zu machen, die dann nicht NULL werden darf, also z.B. "bla_1", "bla_", "_17", NULL für die obigen Beispiele.
Das hätte aber wieder den Nachteil, daß Sortierung und Gruppierung nach den einzelnen (dann ja nicht mehr existierenden) Spalten aufwendig würde. Daher würde ich das gerne vermeiden.
Und die Spalte zusätzlich zu benutzen, hat dann wieder den Nachteil, daß die Daten redundant vorliegen und dabei immer die Gefahr besteht, daß irgendwann die Inhalte von TEXT + NR nicht mehr mit TEXT_NR zusammenpaßt.
Übersehe ich was?
Oder muß in so einem Fall wirklich die Application Logic dafür herhalten, die Korrektheit der Daten zu garantieren?
cu,
Robert