En un servidor de SQL Server2012 tengo vinculado/linkado uno de MySql. Intento actualizar datos desde SQLServer hacia Mysql con merge, de la siguiente forma:
Código SQL:
Ver original
MERGE INTO OPENQUERY(SERVIDOR_MYSQL, 'SELECT campo1, campo2, campo3, campo4 FROM [SRV_VINCULADO].[bd].[tabla1]') AS DESTINO USING [BD_ORIGEN].[dbo].[tabla1] AS ORIGEN ON (ORIGEN.campo1 = DESTINO.campo1 AND ORIGEN.campo2 = DESTINO.campo2) WHEN MATCHED THEN UPDATE SET DESTINO.campo3 = ORIGEN.campo3, DESTINO.campo4 = ORIGEN.campo4 WHEN NOT MATCHED THEN INSERT VALUES(ORIGEN.campo1, ORIGEN.campo2, ORIGEN.campo3, ORIGEN.campo4) WHEN NOT MATCHED BY SOURCE THEN DELETE;
El problema está en el alias 'DESTINO', pues no me lo reconoce y no puedo hacer el update.
He probado varias opciones para intentar solucionarlo como ésto
Código SQL:
Ver original
MERGE INTO OPENQUERY(SERVIDOR_MYSQL, 'SELECT campo1, campo2, campo3, campo4 FROM tabla1') AS DESTINO MERGE INTO OPENQUERY(SERVIDOR_MYSQL, 'SELECT campo1, campo2, campo3, campo4 FROM [SRV_VINCULADO].[tabla1]') AS DESTINO
pero nada , por favor alguien me podría ayudar?
Saludos y gracias