Ich habe eine Situation und ich bin schwach bei SQL. Hier ist es.SQL-Update eine Spalte, die Reihenfolge verloren hat?
Ich habe Artikel archiviert, die mit einer Nummer gespeichert sind. So ist es in der Datenbanktabelle.
RowId Number CaseId
234 1 787
235 2 787
236 3 787
237 4 787
238 5 787
So sieht es beim ersten Einfügen aus. Aber nach dem Löschen, nimm Nummer 3 ist gelöscht, so ist es jetzt auf DB.
RowId Number CaseId
234 1 787
235 2 787
237 4 787
238 5 787
3 ist weg aber was ich brauche ist das.
RowId Number CaseId
234 1 787
235 2 787
237 3 787
238 4 787
Die Nummern sollten ebenfalls aktualisiert werden. Aber ich kann keinen Weg finden, dies zu tun. Übrigens gibt es viele CaseId's. Ich werde die ganze Tabelle nicht aktualisieren, ich werde sie durch eine CaseId auswählen. Kannst du mir sagen, wie ich das mache? Ich verwende C# .NET
Sollte ich sie zu einer Liste (die Art, wie sie von Select Query bestellt werden) nehmen und eins nach dem anderen überprüfen und sie dann aktualisieren? Ich kann den Scheck eins nach dem anderen auf C# schreiben, aber ich denke, es wird nicht effizient sein. Was ist ein effizienter Weg dies zu tun?
müssen Sie die "Nummer" speichern können Sie nicht nur berechnet, wenn Sie aus der Tabelle auswählen? –
Dann brauchen Sie keine "wahre" Spalte "Nummer". Einfach OrderBy RowId und row_number() verwenden –
In dem Fall werde ich vorschlagen, Nummer in Ihrer Datenbank nicht zu speichern. Wenn Sie das obige Ergebnis benötigen, schreiben Sie einfach eine SELECT-Abfrage mit Row_number(). für weitere Informationen siehe sie: http://msdn.microsoft.com/en-us/library/ms186734.aspx –