[2005] Manipuler une table temporaire (problème de nom)
Bonjour,
Je fût confronté a un problème que j'ai résolu mais qui m'a laissé perplexe.
En effet, la solution à laquelle je suis arrivée me semble tirée par les cheveux.
J'ai définit une table temporaire dans une varialbe.
Code:
1 2
|
DECLARE @MaTABLE TABLE (...) |
Après quelques opération, cette table est peuplée.
Et ensuite je dois faire des mise à jour dans cette table en me servant de cette même table pour calcul.
Code:
1 2 3 4 5 6 7 8
|
UPDATE TOP(1) @MaTABLE
SET ... = (
SELECT SUM(T2.Nb + @MaTABLE.Nb)
FROM @MaTABLE AS T2
WHERE ...
GROUP BY ...
) |
Cette exemple est fitctif et ne représente en rien la complexité d'un context qui justifie mon interrogation
Comme vous pouvez le voir en rouge, il y a un problème de syntax pour faire référence à la colonne Nb de la ligne @MaTABLE en cours de mise à jour.
J'ai résolu ce problème en faisant ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
UPDATE TOP(1) @MaTABLE
SET ... = (
SELECT SUM(T2.Nb2 + Nb)
FROM (
SELECT Nb AS Nb2
FROM @MaTABLE
) AS T2
WHERE ...
GROUP BY ...
) |
Donc j'aimerais savoir s'il existe une syntax que j'ignore et me permettant de faire référence à @MaTABLE.Nb ?
Merci.