有人能告诉我为什么这个插入失败,但不给我一个错误?我该如何解决?合并不插入。没有错误
merge table1 as T1
using(select p.1,p.2,p.3,p.4,p.5 from @parameters p
inner join table1 t2
on p.1 = t2.1
and p.2 = t2.2
and p.3 = t2.3
and p.4 = t2.4) as SRC on SRC.2 = T1.2
when not matched then insert (p.1,p.2,p.3,p.4,p.5)
values (SRC.1,SRC.2,SRC.3,SRC.4,SRC.5)
when matched then update set t1.5 = SRC.5;
T1表格当前为空,因此没有任何内容可以匹配。参数表中确实有数据。我只需要修改这个合并,以便在决定做什么之前检查所有4个字段。
我试过一个临时表而不是变量。同样的结果。在同一个数据库中只合并真正的表吗? – Matt
nope它可以跨数据库工作,只要你使用完全合格的表名 –