【问题标题】:ORA-00933: SQL command not properly ended oracle databaseORA-00933: SQL 命令未正确结束 oracle 数据库
【发布时间】:2020-05-14 13:00:59
【问题描述】:

以下查询在 SQL Server Express 12 数据库中运行成功,但在 oracle 数据库中会抛出错误:

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

UPDATE ENTITY SET REQUIREDRESOLUTION = 0.005
FROM ENTITY INNER JOIN FUNC ON ENTITY.FUNCCODE = FUNC.FUNCCODE 
WHERE  (FUNC.TEMPLATE = 4) AND ((ENTITY.CATEGORYCODE = - 5) OR (ENTITY.CATEGORYCODE = - 7)) 

有人可以帮忙吗?如何修改此查询以同时用于 SQL Server 和 Oracle 数据库?

【问题讨论】:

  • Oracle 是否支持 UPDATE FROM 语法?
  • 不,它没有。

标签: oracle join sql-update


【解决方案1】:

这样的?

update entity e set 
  e.requiredresolution = 0.005
  where exists (select null
                from func f
                where f.funccode = e.funccode
                  and f.template = 4
               )
    and e.categorycode in (-5, -7);

【讨论】:

  • 我只是在我的问题中添加了另一个条件。我尝试了您的查询,它似乎适用于 oracle,但当我尝试使用 MySQL 访问 SQL 数据库时,它似乎不喜欢语法。
  • @anhnguyen1104 。 . .这回答了您最初提出的问题(大概)。如果这是真的,你应该接受它。在回答完问题后更改问题是不礼貌的,因为它会吸引反对票。 Stack Overflow 不是一个用来解决完美问题的对话网站。这是一个问答网站,可以回答所提出的问题。
  • @Littlefoot 抱歉,我只是将我的问题改回原来的问题。但是当我尝试使用它访问 SQL 数据库时,您的答案似乎有语法问题。
  • 什么样的问题?
  • @Littlefoot 没关系,这是我的错误。我看错了代码。我现在会投票给你的答案。谢谢
猜你喜欢
  • 2014-04-15
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-06
相关资源
最近更新 更多