MERGE INTO FACTORY_STATISTICS f USING ( SELECT COUNT ( 1 ) AS COUNT FROM FACTORY_STATISTICS ff WHERE ff.FACTORYCODE = '1000' AND ff.MATERIALID = 'T01100' ) CONDITION ON ( CONDITION.count > 0 )
WHEN MATCHED THEN
UPDATE
SET f.PARTAVANUM = f.PARTAVANUM + 1,
f.MATCHAVANUM = f.MATCHAVANUM + 1,
f.AVAILABLENUM = f.AVAILABLENUM + 1,
f.TOTALNUM = f.TOTALNUM + 1
WHEN NOT MATCHED
AND f.FACTORYCODE = '1000'
AND f.MATERIALID = 'T01100' THEN
INSERT (
f.ID,
f.FACTORYCODE,
f.MATERIALID,
f.PARTAVANUM,
f.PARTFREEZENUM,
f.PARTLOCKNUM,
f.MATCHAVANUM,
f.MATCHFREEZENUM,
f.MATCHLOCKNUM,
f.AVAILABLENUM,
f.FREEZENUM,
f.LOCKNUM,
f.TotalNum
)
VALUES
(
'1',
'1',
'1',
'1',
'1',
'1',
'1',
'1',
'1',
'1',
'1',
'1',
'1'
)
```[42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]MERGE 语句中使用的插入列列表中不能包含多部分标识符。请改用单部分标识符。 (10739)
sql server MERGE INTO 同一个表,报错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- l_w610 2019-03-13 15:20关注
1、目标表字段不能作为条件判断
WHEN NOT MATCHED AND f.FACTORYCODE = '1000' AND f.MATERIALID = 'T01100' THEN
2、你INSERT 语句中行值表达式的数目超出了设置 行值的最大允许值。
3、更新同一张表,完全没必要merge,再者你的f和ff并无关系,没有任何匹配和不匹配可言。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 MATLAB仿真三相桥式全控整流电路
- ¥15 EDA技术关于时序电路设计
- ¥15 百度文心一言流式返回sse失败
- ¥15 由于远程方已关闭传输流,身份验证失败
- ¥15 rt-detr,PCB,目标检测
- ¥15 有偿求指导实证代码。cfps清洗合并后,无论是构建平衡面板还是非平衡面板,都是只剩几百个样本量。求指导一下哪里出问题了,不要潦草回复
- ¥15 mutlinichenet
- ¥50 Qt5.14.2怎样使用qlistwidget存储指针类数据并更新?
- ¥15 STM32多路复用器ADC采样
- ¥20 Linux(ubuntu)操作相关问题