我有两张名为雇主的牌桌。一个表驻留在MSSQL上,另一个表驻留在MySQL上。 MySQL DB已链接。
我尝试使用MySQL DB中数据不同的数据更新MSSQL DB表中的所有行。
理想情况下,因为有这么多行,我宁愿只更新具有不同数据的行。
每个数据库表有2个列的idemployees和employeescol1。
下面是一个脚本的工作示例,它将更新Linked MySQL DB中的所有行:
UPDATE MSSQLDB.dbo.employer
SET employeescol1 = emp2.employeescol1
FROM OPENQUERY(LinkedServer, 'SELECT * FROM employees') as emp2
WHERE
MSSQLDB.dbo.employer.idemployees = emp2.idemployee
如何添加WHERE子句来表示WHERE employeescol> =(插入变量)???
答案 0 :(得分:0)
这样的事情应该有效。你也可以使用同义词,如果....有点多:
;with cte
as
(SELECT
*
from
OPENQUERY(LinkedServer, 'SELECT * FROM employees')
)
UPDATE MSSQLDB.dbo.employer
SET
employer.employeescol1 = cte.employeescol1
FROM
MSSQLDB.dbo.employer
inner join
cte
on
cte.idemployees = employer.idemployee