Tengo una situación y soy débil en SQL. Aquí está.SQL actualiza una columna que perdió el orden?
He archivado elementos, que se almacenan con un número. Es así en la tabla de la base de datos.
RowId Number CaseId
234 1 787
235 2 787
236 3 787
237 4 787
238 5 787
Así es como se ve cuando se inserta por primera vez. Pero después de eliminar, tomar el número 3 se elimina, ahora es así en DB.
RowId Number CaseId
234 1 787
235 2 787
237 4 787
238 5 787
3 se ha ido, pero lo que necesito es esto.
RowId Number CaseId
234 1 787
235 2 787
237 3 787
238 4 787
Los números también se deben actualizar. Pero no puedo encontrar una manera de hacer esto. Por cierto, hay muchos CaseId. No actualizaré toda la tabla, la seleccionaré con CaseId. ¿Me puede decir cómo hacer esto? Estoy usando C# .NET
¿Debo incluirlos en una lista (la forma en que se ordenan a partir de la consulta Seleccionar) y verificar uno por uno y luego actualizarlos? Puedo escribir el cheque uno por uno en C#, pero creo que no será eficiente. ¿Cuál es una manera eficiente de hacer esto?
¿necesita almacenar el "Número" no puede simplemente calcularlo cuando selecciona fuera de la tabla? –
Entonces no necesita ningún "Número" de columna "verdadero". Simplemente OrderBy RowId y use row_number() –
En el caso, sugeriré que no almacene Number en su base de datos. Siempre que necesite el resultado anterior simplemente escriba una consulta SELECT con Row_number(). para más detalles, verla: http://msdn.microsoft.com/en-us/library/ms186734.aspx –