分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
今天突然发现merge into功能不起作用了,在网上找了半天,发现是merge into的一个固有bug。
无效语句如下:
merge into T_WORK_DRZJ a using (select * from T_WORK_DRZJ b where b.ygbh=22209 and b.rq=20151117) on (a.ygbh = 22209 and a.rq=20151117) when matched then update set a.zjnr='1111111',a.gzqk='今日录入潜在客户1人。',a.shzt=0,a.sfgk=1,a.lsh=seq_work_drzj.nextval when not matched then insert values(20151117,22209,'1111111','今日录入潜在客户2人。','','','',0,'','','',1,seq_work_drzj.nextval)
因为
select * from T_WORK_DRZJ b where b.ygbh=22209 and b.rq=20151117
结果是空的,所以不能执行后面的update和insert语句。经过改进后:
merge into T_WORK_DRZJ a using (select '22209' as ygbh, '20151116' as rq from dual) b on (a.ygbh = b.ygbh and a.rq=b.rq) when matched then update set a.zjnr='1111111',a.gzqk='今日录入潜在客户1人。',a.shzt=0,a.sfgk=1,a.lsh=seq_work_drzj.nextval when not matched then insert values(20151116,22209,'1111111','今日录入潜在客户1人。','','','',0,'','','',1,seq_work_drzj.nextval)
问题就解决了。
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/2e19ffb3303a490d20ea5d00dd397156.gif)