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

MS SQL Server Discussion :

Question concernant un UPDATE


Sujet :

MS SQL Server

  1. #1
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut Question concernant un UPDATE
    Bonjour

    J'ai une question bête... pourquoi cette requête fonctionne avec une sous requette :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    UPDATE    FAC_DATA
    SET       FAC_DATA.TX_CA = FAC_DATA.REAL_ACH / FAC_DATA_TOTAL.REAL_ACH
    FROM      ( SELECT    *
                FROM      FAC_DATA
                WHERE     PAYS_ID = @pays AND
                          GROUPE_ID = 1
              ) AS FAC_DATA_TOTAL
    WHERE     FAC_DATA.PAYS_ID = FAC_DATA_TOTAL.PAYS_ID AND
              FAC_DATA.PHASE_ID = FAC_DATA_TOTAL.PHASE_ID AND
              FAC_DATA.TYPEENTITE_ID = FAC_DATA_TOTAL.TYPEENTITE_ID AND
              FAC_DATA.PERIODE_ID = FAC_DATA_TOTAL.PERIODE_ID AND
              FAC_DATA.ENTITE_ID = FAC_DATA_TOTAL.ENTITE_ID
    mais pas celle là sans la sous requête ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    UPDATE    FAC_DATA
    SET       FAC_DATA.TX_CA_MOTRIO = FAC_DATA.REAL_ACH / FAC_DATA_TOTAL.REAL_ACH
    FROM      FAC_DATA AS FAC_DATA_TOTAL
    WHERE     FAC_DATA.PAYS_ID = FAC_DATA_TOTAL.PAYS_ID AND
              FAC_DATA.PHASE_ID = FAC_DATA_TOTAL.PHASE_ID AND
              FAC_DATA.TYPEENTITE_ID = FAC_DATA_TOTAL.TYPEENTITE_ID AND
              FAC_DATA.PERIODE_ID = FAC_DATA_TOTAL.PERIODE_ID AND
              FAC_DATA.ENTITE_ID = FAC_DATA_TOTAL.ENTITE_ID AND
              FAC_DATA.PAYS_ID = @pays AND
              FAC_DATA_TOTAL.GROUPE_ID = 1
    Quand je met cette requête dans ma procédure stockée, j'ai ces erreurs qui sortent :

    Msg 4104, Level 16, State 1, Procedure myProcedure, Line 14
    The multi-part identifier "FAC_DATA.PAYS_ID" could not be bound.
    Msg 4104, Level 16, State 1, Procedure myProcedure, Line 14
    The multi-part identifier "FAC_DATA.PHASE_ID" could not be bound.
    Msg 4104, Level 16, State 1, Procedure myProcedure, Line 14
    The multi-part identifier "FAC_DATA.TYPEENTITE_ID" could not be bound.
    Msg 4104, Level 16, State 1, Procedure myProcedure, Line 14
    The multi-part identifier "FAC_DATA.PERIODE_ID" could not be bound.
    Msg 4104, Level 16, State 1, Procedure myProcedure, Line 14
    The multi-part identifier "FAC_DATA.ENTITE_ID" could not be bound.
    Msg 4104, Level 16, State 1, Procedure myProcedure, Line 14
    The multi-part identifier "FAC_DATA.PAYS_ID" could not be bound.
    PS : Je cherche juste l'explication, c'est pour info seulement

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Mettre FROM dans votre second UPDATE ne sert à rien si vous ne spécifiez pas de jointure.
    Comme votre alias n'existe pas, le compilateur ne peut pas trouver la table sous-jacente, donc ne compile pas votre requête

    @++

Discussions similaires

  1. [Débutant] Deux questions concernants les vues
    Par 13obscur dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 19/04/2005, 14h29
  2. [Servlet + Class] question concernant plusieurs connections
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 29/11/2004, 16h39
  3. Réponses: 7
    Dernier message: 10/09/2004, 14h28
  4. [Indy] Questions concernant l'envoi de mail
    Par delphicrous dans le forum Web & réseau
    Réponses: 3
    Dernier message: 24/06/2004, 15h06
  5. Question concernant l'API "WaitforSingleObject
    Par Drooxy dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 29/03/2003, 07h26

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