永发信息网

请问sql数据库在使用merge进行update的时候,如何跟where条件?

答案:2  悬赏:80  手机版
解决时间 2021-02-28 06:01
  • 提问者网友:半生酒醒
  • 2021-02-27 17:20
数据库有id,a,b,c四个字段,id为主键,a字段是文本
我的需求是:a字段的记录不能重复,当我修改某条记录的a字段的时候,如果修改完的值和数据库里现有a字段的值相同的话就不让修改,我用merge,本次修改的记录id=2,‘123’是新值,代码如下:
merge mytable as T
using(SELECT '123' as a) N
on (T.a != N.a)
when matched then
update set T.a=N.a where T.id=2;

可是提示出错,说where附近有语法错误,请问后边可以跟where吗? 我的这个需求要怎样写呢?
在线等待高手帮助!感谢
最佳答案
  • 五星知识达人网友:woshuo
  • 2021-02-27 17:39
merge mytable as T
using(SELECT '123' as a) N
on (T.a != N.a) and T.id=2
when matched thenupdate set T.a=N.a
试试这个
全部回答
  • 1楼网友:上分大魔王
  • 2021-02-27 18:40
没看懂什么意思?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯