IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

[2005] Manipuler une table temporaire (problème de nom)


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut [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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    En écrivant mon message, inspiré par la balise [CODE], je me suis rendu compte ne pas avoir essayé [@MaTable].Nb et pourtant, cela marche.

    Merci balise.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'utilisation du IF avec une table temporaire
    Par yonnel dans le forum Développement
    Réponses: 6
    Dernier message: 08/01/2013, 15h01
  2. Réponses: 15
    Dernier message: 28/10/2011, 15h45
  3. Réponses: 8
    Dernier message: 06/06/2007, 17h03
  4. [débutant] Résultat d'un exec dans une table temporaire
    Par amelie15 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/08/2005, 09h14
  5. Impossible de manipuler une table.
    Par ma2th dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 22/08/2004, 21h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo