Oracle SQL:更新连接

Posted

技术标签:

【中文标题】Oracle SQL:更新连接【英文标题】:Oracle SQL : UPDATE JOIN 【发布时间】:2019-12-31 10:24:29 【问题描述】:

我正在尝试使用连接语句进行更新查询。但是,它不断抛出语法错误我不确定我在哪里出错了,因为我认为我做对了。

UPDATE AlfaGood 
SET ag.name = 'New text goes here' 
FROM AlfaGood ag 
INNER JOIN SecondAlfa ca ON ca.id = 1 
                         AND ag.agrid = 'Thats my original text';

如果可能,请就上述内容提出建议。我收到一个错误

ORA-00933: SQL 命令未正确结束

FROM 之前说它缺少(; | ,)

【问题讨论】:

UPDATE AlfaGood 替换为UPDATE ag “FROM 前缺少 (; | ,)”?这不是 SQL Server 错误。 SQL Server 不使用管道 (|)。 Oracle SQL Developer 是一个 IDE,而不是一个 RDBMS。我现在已经更正了标签,我们发现了您正在使用的真正的 RDBMS。 这能回答你的问题吗? Update statement with inner join on Oracle 供将来参考,此处描述了 Oracle UPDATE 语法:docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/… 【参考方案1】:

你可以这样做:

UPDATE AlfaGood ag
   SET ag.name = 'New text goes here' 
--FROM AlfaGood ag -- not an Oracle syntax
 WHERE ag.agrid = 'Thats my original text' 
   AND ag.id = 1 
   AND EXISTS ( SELECT ca.id FROM SecondAlfa ca WHERE ca.id = 1 );

【讨论】:

请将其标记为答案,以便将来的读者喜欢点击勾选并使其变为绿色:) 如果我前几天没来,我很抱歉

以上是关于Oracle SQL:更新连接的主要内容,如果未能解决你的问题,请参考以下文章

包含左连接的 SQL Oracle 更新

带有连接的 Oracle SQL 更新列

pl sql连接oracle设置

PL/SQL Developer如何连接64位的Oracle图解

java可以到出sql文件的数据数据库是oracle

用jdbc连接oracle数据库,现在要实现数据的更新操作,在java web 项目里,求大神简单讲解下,再给出点代码