当前位置: 代码迷 >> Informix >> informix中where子句的用法
  详细解决方案

informix中where子句的用法

热度:937   发布时间:2016-05-05 09:08:29.0
求助 informix中where子句的用法
UPDATE TranRec SET flags = 1
WHERE tsptracenum=hostfile_edate.tlbcon
AND tspdate=hostfile_edate.tlbtin
AND tranamt=hostfile_edate.tlbf02;

hostfile_edate 和 TranRec是两个表。

不知道这个语句有何问题,我检查过了,没有输入错误,但是报错217,谁知道怎么回事啊?

------解决方案--------------------
语法这么写是错误的,update的where只能是当前表的条件,不能是其它表的条件

但是可以这么写,前提是tsptracenum是TranRec表的主键或能唯一确定一条记录

SQL code
UPDATE TranRec SET flags = 1WHERE tsptracenum in(select tsptracenum from hostfile_edate,TranRecTranRec.tsptracenum=hostfile_edate.tlbconAND TranRec.tspdate=hostfile_edate.tlbtinAND TranRec.tranamt=hostfile_edate.tlbf02);
  相关解决方案