码迷,mamicode.com
首页 > 数据库 > 详细

在imformix数据库中遇到的坑

时间:2014-11-04 14:41:44      阅读:445      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   for   sp   数据   div   

今天,给系统改点数据,要从另一个表抓取数据更新到目标表,

一般插入语句格式如下:

Insert into Table2(field1,field2,...) select value1,value2,... from Table1 where ...

但在imformix却不是这样

bubuko.com,布布扣

竟然语法错误?

好吧,改一下呗

bubuko.com,布布扣

看起来好像也不行,

接着,就度娘了一下,有写人分享的是

后面要再加一对括号,想下面这样

1 update t_exd_changeno_seq set seq = 
2 ((select changeno from t_exd_ar_tmp where
3 t_exd_ar_tmp.exdebtcode = t_exd_changeno_seq.changenocode))

但运行还是通不过

错误是Cannot insert a null into column.

检查了一遍,插入的数据没有null值阿~~~

真令人摸不着头脑

接着,我看系统的某个shell时,发现里面有类型的语句,好像要加上

where exists的语句

完整语句如下:

1 update t_exd_changeno_seq set seq = 
2 (select changeno from t_exd_ar_tmp where 
3 t_exd_ar_tmp.exdebtcode = t_exd_changeno_seq.changenocode)
4 where exists
5 (select * from t_exd_ar_tmp where 
6 t_exd_ar_tmp.exdebtcode = t_exd_changeno_seq.changenocode);

这样的语句,就能成功update了,

where exists部分就是搞掂了Cannot insert a null into column.的问题

难道这就是imformix的语法?最后还得从新确认数据是不存在吗?真令人费解阿!!!

所以阿,以前用oracle还是挺幸福的,5555

此篇完毕!!!

在imformix数据库中遇到的坑

标签:style   blog   http   color   ar   for   sp   数据   div   

原文地址:http://www.cnblogs.com/ForeVerWater/p/4073406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!