问题描述
我有两个表要合并
表A
COL A | COL B | COL C |
---|---|---|
1 | 2 | 价值 |
2 | 2 | 价值 |
表 B
COL A | COL B | COL C |
---|---|---|
1 | 2 | 价值 |
2 | 2 | 新值 |
合并 sql
MERGE INTO dbo.TableA AS target
USING dbo.TableB AS source
ON
(
target.ColA = source.ColA AND
target.ColB = source.ColB
)
WHEN MATCHED THEN
UPDATE SET
target.COLC = source.COLC
WHEN NOT MATCHED THEN
INSERT (COLA,COLB,COLC)
VALUES (source.COLA,source.COLB,source.COLC);
每当我运行上面的代码时,我的数据库(Azure 突触、专用池)都会引发以下错误,然后停止响应大约 20 秒。
“从服务器接收结果时发生传输级错误。(提供者:TCP 提供者,错误:0 - 指定的网络名称不再可用。)”
我怀疑它与合并的更新部分有关。因为我第一次运行语句 (表 A 中没有任何数据)它可以正常工作并插入两行。但是如果我再次运行它,它会因传输级错误而失败