informix更新查询与联接

时间:2016-05-18 09:56:46

标签: sql informix

我正在尝试使用另一个表中的值更新表的一个字段,但它正在给出" 201:发生语法错误。"

UPDATE  altr_destination
SET     ad.store_num = sx.new_store_num
FROM    altr_destination ad ,   store_xref sx
WHERE   ad.store_num = sx.old_store_num 
AND     ad.store_num = 9999 ;

谢谢, Utkarsh

1 个答案:

答案 0 :(得分:1)

不要使用隐式连接语法(以逗号分隔),使用正确的连接语法!

也可以使用相关的子查询来完成:

UPDATE  altr_destination ad
SET     ad.store_num =(SELECT sx.new_store_num
                       FROM store_xref sx
                       WHERE   ad.store_num = sx.old_store_num)
WHERE ad.store_num = 9999 ;

我认为使用join的更新不适用于旧版本的informix,至少这是我在查找时看到的内容。