【问题标题】:informix update query with joins带有连接的 informix 更新查询
【发布时间】:2016-05-18 09:56:45
【问题描述】:

我正在尝试使用另一个表中存在的值更新表的一个字段,但它给出“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 ;

谢谢, 乌特卡什

【问题讨论】:

    标签: sql informix


    【解决方案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 ,至少我在寻找它时看到的是这样。

    【讨论】:

    • 你是对的:Informix 的UPDATE 语句不支持连接表示法。它们不是 SQL-2003 标准的一部分(因此也不是该标准的早期版本);我不知道从那以后它们是否被添加到标准中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 2020-11-29
    • 1970-01-01
    • 2012-11-08
    • 2012-06-11
    • 1970-01-01
    • 2019-01-05
    相关资源
    最近更新 更多