SQL Server : incrément INT colonne à l'aide de la variable

Essayez d'insérer une colonne ordre dans certains dossiers, basé sur un autre champ. Normalement pas un problème de MySQL, mais dans SQL Server, je ne comprends pas très bien la syntaxe ici.

C'est ce que j'ai:

DECLARE @a int
SET @a = 1

UPDATE tablename 
SET order_position = @a:=@a+1  
WHERE table_id = xxx

Mais une partie de moi pense que c'est de descendre la route d'une fonction/procédure, par opposition à un seul coup UPDATE requête.

Désolé, mais j'ai écrit cela comme une base de données MySQL personne, pas familiers avec les variables avec SQL Server, de sorte que pourrait être un peu de mal.

J'ai besoin de l'exécuter sur une charge de dossiers un par un, et je veux le order_position colonne à 1-7 (où il y a 7 dossiers), etc..

Merci, Chris

  • Ce champ est de l'ordre?
  • Eh bien j'ai besoin d'ordonner les résultats avant de me mettre à jour, de sorte qu'ils sont dans le bon ordre. Nous allons l'appeler "fieldsort" pour les fins de cet exercice.
InformationsquelleAutor Chris | 2013-08-01