Ich habe eine Tabelle X mit 4 Spalten P, FOO1, FOO2, A, B, C
Die Spalte P ist ein künstlicher Primary-Key, A, B und C sind varchar, not null und nicht unique. FOO1 und FOO2 enthalten sonstige Daten.
Wie kann ich bei MS-SQL eine identity-Spalte über die Spalten A, B und C einfügen?
Zur Erläuterung: ich möchte eine Spalte D vom Typ integer, mit Auto-Increment und zwar immer dann, wenn select * from table where A=$a and B=$b and C=$c keine Treffer liefert.
Ich habe gelesen, dass dies mit einem Table-Constraint erledigt werden könnte. Leider war bei dem Beispiel kein SQL-Code für den Constraint dabei
Meine zweite Idee war eine zusätzliche Tabelle Y mit einem compound primary key Y.P über die Spalten X.A, X.B und X.C der Tabelle X und einer Y.A mit auto-increment, aber ich blicke leider nicht durch, wie ich es anstellen muss mit der Referenzierung der Spalten, sowie dass in Tabelle Y automatisch ein neuer Datensatz angelegt wird, wenn auf Tabelle X ein Insert ausgeführt wird. Da fehlt mir das notwendige Wissen, wie die SQL-Syntax aussehen muss.
Die Microsoft-Hilfe ist leider nicht sonderlich hilfreich und bei Google habe ich nichts brauchbares gefunden. Würde mich wahnsinnig freuen, wenn mir jemand auf die Sprünge helfen könnte!
Danke im Voraus...
Die Spalte P ist ein künstlicher Primary-Key, A, B und C sind varchar, not null und nicht unique. FOO1 und FOO2 enthalten sonstige Daten.
Wie kann ich bei MS-SQL eine identity-Spalte über die Spalten A, B und C einfügen?
Zur Erläuterung: ich möchte eine Spalte D vom Typ integer, mit Auto-Increment und zwar immer dann, wenn select * from table where A=$a and B=$b and C=$c keine Treffer liefert.
Ich habe gelesen, dass dies mit einem Table-Constraint erledigt werden könnte. Leider war bei dem Beispiel kein SQL-Code für den Constraint dabei
Meine zweite Idee war eine zusätzliche Tabelle Y mit einem compound primary key Y.P über die Spalten X.A, X.B und X.C der Tabelle X und einer Y.A mit auto-increment, aber ich blicke leider nicht durch, wie ich es anstellen muss mit der Referenzierung der Spalten, sowie dass in Tabelle Y automatisch ein neuer Datensatz angelegt wird, wenn auf Tabelle X ein Insert ausgeführt wird. Da fehlt mir das notwendige Wissen, wie die SQL-Syntax aussehen muss.
Die Microsoft-Hilfe ist leider nicht sonderlich hilfreich und bei Google habe ich nichts brauchbares gefunden. Würde mich wahnsinnig freuen, wenn mir jemand auf die Sprünge helfen könnte!
Danke im Voraus...
Kommentar