【发布时间】:2014-01-26 18:45:06
【问题描述】:
请帮忙解决这个问题... 我正在尝试在 VB 中实现此 SQL 代码,代码适用于更新但不适用于插入...
merge into anamneza a
using (select ana_id from anamneza where ana_id = 2) e
on (a.ana_id = e.ana_id)
when matched then
update set a.ana_kupanje = 'da'
when not matched then
insert (ana_rb,ana_id,ana_kupanje,ana_kosa,ana_brijanje,ana_zubi,ana_nokti,ana_odjeca,ana_koza,ana_dek_rizik,ana_dek_rizik_gdje,ana_dek_postojeci,ana_dek_post_gdje,ana_pokretnost,ana_kolica,ana_pomagala,azurirao,datumazur)
values (1,1,'da','da','da','da','da','da','da','da','da','da','da','da','da','da','veki',getdate());
首先我在 SQLQuery 中编写并执行它,它说 (0 行受影响)
但是当我插入该行并且它的 id=1 并更改选择它匹配 ana_id = 1 时,它说(1 行受影响);
为什么插入语句不起作用???
【问题讨论】:
-
是否返回错误?
-
没有错误,只有 0 行受到影响,当我在执行时手动插入时,它会更新字段...奇怪
-
如果来自 Aaron B 的链接消失;合并有错误,一些被标记为不会修复。
-
我想这已经被问过了:stackoverflow.com/questions/10794870/…
标签: sql sql-server vb.net sql-server-2008