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