Mise à jour SQL avec numérotation consécutive

Je veux mettre à jour une table avec numérotation consécutive en commençant par 1. La mise à jour a une clause where de sorte que les résultats répondent à la clause seront renumérotés. Puis-je réaliser cela de manière efficace, sans l'aide d'une table temporaire?

  • Plus cette probabilité dépend de la version de SQL, vous êtes en cours d'exécution sur, je ne pense pas qu'il y est un moyen standard pour ce faire.
  • Quel serait le nombre il être utilisé? Êtes-vous créer un ID? Aussi, je ne serais pas s'inquiéter à propos de l'inefficacité. Étant donné aucune autre information, il ne sonne pas comme vous l'auriez-être à côté de quelque chose en étant d'une inefficacité flagrante. Sonne comme un arrêt de l'opération.
  • Je reçois de 1,5 million de références 2 go de tuyau de fichiers délimités par des chaque semaine. J'ai besoin d'exécuter une procédure stockée qui détermine les listes sont dans mes clients de villes, de leur donner l'id du client, et de les numéroter séquentiellement pour chaque client. Il doit être efficace.
  • Maintenant que je comprends pourquoi vous êtes la numérotation, La solution que j'ai proposé de ne pas faire ce que vous avez besoin. Si plusieurs mises à jour sont en cours d'exécution dans le même temps, vous ne serez pas obtenir des chiffres consécutifs à l'intérieur de cette mise à jour. +1 pour zombat et j'ai supprimé ma réponse.
InformationsquelleAutor Bryan | 2009-07-22