当前位置: 首页 > 面试题库 >

与某些表连接时,更新查询出现语法错误

顾跃
2023-03-14
问题内容

这是API生成的查询-不确定出什么问题了。

UPDATE T123 
SET COL1 = 1, VER1 = VER1 + 1  
INNER JOIN  
    SELECT C1 
    FROM (SELECT T.NUM_FLD C1 FROM WAPTDT_123 T) TAB ON C1 = REQUEST_ID

给我错误

SQL命令未正确结束

表中存在所有列,我相信联接和在oracle上运行此命令有问题。

编辑

还有一件事是,

SELECT C1 
FROM (SELECT T.NUM_FLD C1 FROM WAPTDT_123 T) TAB

当我从某些API获取时,查询的一部分已修复。


问题答案:

Oracle不支持join以下update语法:

UPDATE T123
    SET COL1 = 1,
        VER1 = VER1 + 1
    WHERE EXISTS (SELECT 1 FROM WAPTDT_123 T WHERE T123.REQUEST_ID = T.NUM_FLD);

这是标准的SQL,可以在任何数据库中使用。

您的查询还有其他问题。。。子查询不在括号中,inner join没有第一张表。

编辑:

您可以使用该子查询编写此查询:

UPDATE T123
    SET COL1 = 1,
        VER1 = VER1 + 1
    WHERE T123.REQUEST_ID IN (SELECT C1 FROM ( SELECT T.NUM_FLD C1 FROM WAPTDT_123 T) TAB );

我将其切换为IN,只是因为这是另一种选择。您仍然可以使用EXISTS



 类似资料:
  • 我遇到了这个错误。 com.mysql.jdbc.exceptions.jdbc4。您有一个错误,在您的SQL语法;检查手册,对应于您的MySQL服务器版本的正确的语法使用附近'like='1',不喜欢='0',mealID='17'WHERE mealID='17"在第1行在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)在

  • 问题内容: 当我尝试将SVN连接到Eclipse时,出现以下错误:知道如何解决吗? 问题答案: 选择SVN接口: 客户端:SVNKit(纯Java) 应用并重试。

  • 我有两个表,一个在SRID4326中(包含),另一个在SRID32188中(包含)。 我试图从中选择所有距离中的任何行100米以内的多边形。 这是我提出的问题: 不幸的是,它不起作用,而且pgAdmin4没有给我一个有用的错误。相反,只要我运行查询,它就会与数据库断开连接(因此这不是超时情况): 我还尝试了在同一SRID中使用两个表,但仍然存在问题。。。我做错了什么? 编辑:为了尝试缩小问题的范围

  • 本文向大家介绍Mysql join连接查询的语法与示例,包括了Mysql join连接查询的语法与示例的使用技巧和注意事项,需要的朋友参考一下 连接查询: 是将两个查询(或表)的每一行,以“两两横同对接”的方式,所得到的所有行的结果,即一个表中的某行,跟另一个表中的某行。进行“横向对接”,得到一个新行。 连接查询包括以下这些不同形式,连接方式: 交叉连接、内连接、外连接(分:左外连接,右外连接)

  • 问题内容: 我有两个看起来像这样的桌子 培养 订座 当前,我正在尝试创建一个查询,如果取消预订,该查询将增加火车的容量。我知道我必须执行Join,但是我不确定如何在Update语句中执行。例如,我知道如何使用给定的ReservationID来获取火车的容量,如下所示: 但我想构造执行此操作的查询- 如果可能的话,我想知道如何增加任意数量的席位。顺便说一句,我计划在Java事务中执行增量后删除保留。

  • 问题内容: 我有和桌子。 询问: 返回474条记录 对于这些记录,我想添加的表成的表。 示例 :如果对于第一条记录,客户的id是9 ,地址的也是9,那么我想在地址表的cid列中插入9。 我试过了: 但这似乎不起作用。 问题答案: 这是Postgres UPDATE JOIN格式: 这是其他变体:http : //mssql-to- postgresql.blogspot.com/2007/12/u