我有两个表都名为雇主。一个表驻留在 MSSQL 上,另一个表驻留在 MySQL 上。 MySQL 数据库已链接。
我正在尝试使用数据不同的 MySQL 数据库中的数据更新 MSSQL 数据库表中的所有行。
理想情况下,因为行太多,我宁愿只更新具有不同数据的行。
每个数据库表都有 2 列 idemployees 和Employeescol1。
下面是一个脚本的工作示例,它将更新链接 MySQL 数据库中的所有行:
UPDATE MSSQLDB.dbo.employer
SET employeescol1 = emp2.employeescol1
FROM OPENQUERY(LinkedServer, 'SELECT * FROM employees') as emp2
WHERE
MSSQLDB.dbo.employer.idemployees = emp2.idemployee
如何添加 WHERE 子句来表示类似 WHEREEmployeescol >=(插入变量)???
最佳答案
像这样的东西应该可以工作。如果...有点太多,您还可以使用同义词:
;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
关于mysql - 从相同的 MySQL 链接服务器表 Where 子句更新本地 MSSQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23479980/