SQL Avec mise à Jour...

Est-il possible de faire une sorte de "WITH...UPDATE" action sur SQL?

Par exemple:

WITH changes AS
  (...)
UPDATE table
SET id = changes.target
FROM table INNER JOIN changes ON table.id = changes.base
WHERE table.id = changes.base;

Certaines informations de contexte: Ce que j'essaie de faire est de générer un base/target liste à partir d'un tableau et ensuite l'utiliser pour modifier les valeurs dans une autre table (modification des valeurs égales à base en target)

Merci!

alors, pourquoi n'utilisez-vous pas la avec de la requête elle-même dans la commande de mise à jour?
Vous ne pouvez pas utiliser with dans un update, c'est uniquement valide pour les select. Vous pouvez utiliser merge, mais pas si vous êtes vraiment à la rejoindre et de la mise à jour de la même valeur, id dans ce cas; sont votre jointure et où l'une des clauses les deux vraiment se référant à changes.base?
Pourriez-vous nous donner un exemple pour vérifier si c'est ce que je suis à la recherche?
remplacer exactement le avec la commande select ( . . . ) avec des changements (après jointure interne) dans la commande de mise à jour, et méfiez-vous des propos d'un alias
Pas vraiment, comme je suis en train d'expérimenter ce que je suis en train de faire. Ce que j'essaie de faire est de modifier chaque ligne id champ de base à target (chaque base correspondant à son target; lignes avec d'autres id valeurs ne sont pas affectés).

OriginalL'auteur Racso | 2013-06-25