我有mysql链接到sql server作为 STATION_TEST
. 我想将以下选择结果输入临时表并更新。选择查询:
SELECT * INTO #MYSqlRFID_Prod FROM OPENQUERY(STATION_TEST,'select * from deslocal.RFID_Prod WHERE valid = ''N''');
我无法选择两次进行更新,因为表rfid\u prod record每次都在运行。如果我这样问:
UPDATE OPENQUERY(STATION_TEST,'SELECT id,valid FROM deslocal.RFID_Prod WHERE valid = ''N''') SET valid = 'Y';
恐怕评选结果与第一次评选结果不一样。
1条答案
按热度按时间zwghvu4y1#
可以对链接服务器使用标准的“从选择更新”语法。
但是,如果你想
OUTPUT INSERTED
进入@temp表,如下所示:语句将失败,并显示以下消息。
远程表不能用作包含output子句或嵌套dml语句的语句中的dml目标。
使用链接服务器更新和选择似乎需要两条语句。
但是…..您可以通过管道将插入到远程表中的输出结果传递给其他人,但是这样,调用结果集仍然是第二条语句。
还有两个选择
向目标表添加关键更新相关键。
使用分布式事务