Vous ne devriez pas vraiment « réorganiser » une clé dans la base de données. Si vous utilisez la base de données d'une manière relationnelle, vous pouvez référencer VisitNo d'une autre table comme un moyen de lier les informations de poids à d'autres informations que vous détenez à partir de la visite. Ce lien s'appelle une relation et l'ID est appelée clé primaire, qui ne devrait jamais changer pour une ligne de votre table car elle casserait n'importe quelle référence dans d'autres tables (ces références sont appelées des clés étrangères).
Bien qu'il semble agréable et "rangé" d'avoir des pauses dans votre séquence VisitNo, ce n'est pas vraiment le bon processus à suivre lorsque vous supprimez des enregistrements. Cependant, cette leçon ne vous dérange pas, voici comment vous pourriez changer le VisitNo, en supposant que ce ne soit pas une clé du tout, mais une donnée utilisateur (par exemple, la première fois que j'ai visité le gymnase, la deuxième fois que je visite la salle de gym et la troisième fois que je visite la salle de gym)
CREATE TABLE #RowNumber (
RowNumber int IDENTITY (1, 1),
id INT,
Weight INT )
INSERT #RowNumber (emp_id)
SELECT id, Weight
FROM tblMyTable
WHERE id = 1
ORDER BY VisitNo
SELECT * FROM #RowNumber
DROP TABLE #RowNumber
Si vous exécutez cette requête (remplacez tblMyTable avec le nom de votre table), vous verrez que la colonne RowNumber est essentiellement la re -Nombre VisitNo. Vous pouvez utiliser ces données pour revenir à votre table ... bien qu'il y ait un léger problème avec votre structure de table à cet égard. Vous avez besoin d'une clé primaire sur la table pour vous donner une belle poignée unique à chaque ligne:
recordid id VisitNo Weight
1 1 1 100
2 1 2 95
3 1 3 96
4 1 4 94
5 1 5 93
Sans cela, vous aurez du mal à mettre à jour la nouvelle VisitNo retour sur la table, qui ressemblera à ceci:
recordid id VisitNo Weight
1 1 1 100
3 1 3 96
5 1 5 93
Et après avoir modifié, il ressemblerait à ceci:
recordid id VisitNo Weight
1 1 1 100
3 1 2 96
5 1 3 93
Est-VisitNo un NuméroAuto? –
pourquoi? Que gagnez-vous en re-numérotant votre colonne "VisitNo", vraiment? –