select * from Openquery(MySQL, 'SELECT * FROM official.sys_hospital')
执行更新语句:
update Openquery(MySQL, 'SELECT * FROM bigdata_official.sys_hospital WHERE id=2') set states=0;
报错,错误信息:
链接服务器"MySQL"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "无法为更新定位行。一些值可能已在最后一次读取后已更改。"。
消息 7343,级别 16,状态 4,第 1 行
链接服务器 "MySQL" 的 OLE DB 访问接口 "MSDASQL" 无法 UPDATE 表 "[MSDASQL]"。行集正在使用乐观并发机制,而自上次提取或重新同步包含列值的行后,该列值又有更改。
错误原因:mysql表内 id=2 的数据 states 已经为 0,无法更新
解决方案:
update Openquery(MySQL, 'SELECT * FROM bigdata_official.sys_hospital WHERE states=1 and id=2') set states=0;