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:更新连接的主要内容,如果未能解决你的问题,请参考以下文章