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 :

UPDATE FROM OPENQUERY [2016]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2
    Par défaut UPDATE FROM OPENQUERY
    Bonjour à tous,

    Nouveau sur le forum o/


    J'ai besoin d'UPDATE une table via une autre table qui se trouve sur un serveur lié. Je m'explique :

    Sur MS-SQL, j'ai une table TABLE_A, avec une colonne ID et une colonne VAL vide (NULL partout).
    Sur MySQL, j'ai une table TABLE_B avec les colonnes ID et VAL (accessible via OPENQUERY)
    Je veux importer les données de TABLE_B.VAL dans TABLE_A.VAL.

    Pour l'instant j'ai testé ce code qui me fait un erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    UPDATE TABLE_A
    SET t.VAL = o.VAL
     
    FROM
        TABLE_A AS t
    INNER JOIN OPENQUERY(LINKED, 'SELECT * FROM db.TABLE_B') AS o 
    ON t.ID = o.ID
     
    Log : Msg 4104, Level 16, State 1, Line 4
    The multi-part identifier "t.VAL" could not be bound.

    Ce qui est curieux c'est que le code suivant fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT t.VAL, o.VAL
    FROM
        TABLE_A AS t
    INNER JOIN OPENQUERY(LINKED, 'SELECT * FROM db.TABLE_B) AS o 
    ON t.ID = o.ID
    Et me renvoie bien les deux colonnes.


    Si quelqu'un s'y connait en serveur lié, je ne suis pas contre un peu d'aide

  2. #2
    Membre expérimenté Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE TABLE_A
    SET VAL = o.VAL
    FROM TABLE_A AS t
    INNER JOIN OPENQUERY(LINKED, 'SELECT * FROM db.TABLE_B') AS o  ON t.ID = o.ID

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2
    Par défaut
    Bonjour,

    D'une efficacité redoutable merci infiniment.

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

Discussions similaires

  1. [2005] UPDATE FROM sans FROM
    Par Sergejack dans le forum Développement
    Réponses: 2
    Dernier message: 09/03/2010, 09h18
  2. Lecture variable objet table - UPDATE FROM
    Par MAndris dans le forum SSIS
    Réponses: 3
    Dernier message: 27/03/2009, 15h10
  3. UPDATE FROM vs curseur
    Par frais_d_eric dans le forum Développement
    Réponses: 4
    Dernier message: 25/03/2009, 16h00
  4. [Continuum] Error updating from SCM.
    Par ddSurf dans le forum Intégration Continue
    Réponses: 0
    Dernier message: 03/03/2008, 10h43
  5. Requête UPDATE FROM avec Access
    Par MHO dans le forum Access
    Réponses: 2
    Dernier message: 01/12/2006, 12h24

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