ich eine Tabelle mit 50 Spalten haben, können sagen, die a,b,c,d
usw.Sql Update Spalte von Spalte Update in einzelnen Anweisung
Ich möchte b aktualisieren von a und c aus dem neuen Wert von b , so b=b+a,c=c+b ,d = c+ d,..
etc Ich möchte kein Update wie Update [table] set b=b+a, c= c+b+a..
usw. machen, weil ich für jede Spaltenaktualisierung eine riesige berechnete Formel schreiben muss, die für jede Spalte größer und komplexer wird.
Die Tabelle, die ich aktualisieren möchte, hat etwa 50 Millionen Zeilen. Ich denke, dass das Erstellen mehrerer Update-Anweisungen eine Art von Selbstmord ist.
Wie soll ich damit umgehen? Denken Sie, dass die Verwendung von Variablen eine gute Idee ist?
Vielen Dank und Entschuldigung für mein Englisch.
Hinweis: Tut mir leid, dass ich meine Frage nicht verstanden habe. Es gibt 50 neue Spalten in einer vorhandenen Tabelle. Die erste neue Spalte, a, wird mithilfe einer Verknüpfung mit anderen Tabellen berechnet. Die zweite neue Spalte, b, wird berechnet, indem das Ergebnis zum neuen Wert von a addiert wird, zu einer Berechnung, die ich mit einem Join mit anderen Tabellen machen möchte (die gleichen Tabellen wie die erste Aktualisierung). Die gleiche Logik gilt für die Berechnung der Werte für alle 50 Spalten.
Sie Frage ist nicht klar. –
Sie sollten Ihre Tabelle normalisiert haben, diese Werte gehören in eine andere Tabelle, die damit in Beziehung steht. Dann wäre das Update und die Formel einfacher. –
Woher wissen wir also, welche Spalten addiert werden sollten, um den Wert der anderen Spalte zu generieren? Gibt es eine Beziehung, die aus dem Spaltennamen abgeleitet werden kann? etwas wie Spalte1, Spalte2? Wie können wir sonst eine dynamische Abfrage oder eine andere Abfrage schreiben, um jede Spalte aus einer Reihe anderer Spalten zu aktualisieren, die weiter inkrementiert werden? – Sam