更新我的 sql 中的两个表时出错

Posted

技术标签:

【中文标题】更新我的 sql 中的两个表时出错【英文标题】:Getting error when updating two table in my sql 【发布时间】:2017-08-16 16:11:41 【问题描述】:

当我尝试使用以下语法更新两个表时,出现以下错误:

从命令第 20 行开始的错误:

UPDATE 
     tableA t1, 
     tableAClone t2
SET 
      t1.SECTION_ID = t2.SECTION_ID 
WHERE
     t1.CATEGORY_id = t2.CATEGORY_id

命令行错误:21 列:30 错误报告: SQL 错误:ORA-00971:缺少 SET 关键字 00971. 00000 - “缺少 SET 关键字” *原因: *行动:

UPDATE 
     tableA t1, 
     tableAClone t2
SET 
      t1.SECTION_ID = t2.SECTION_ID 
WHERE
     t1.CATEGORY_id = t2.CATEGORY_id;

【问题讨论】:

一个sql语句不能更新多个表 【参考方案1】:

您的 sintax 在 oracle 中无效尝试使用

    UPDATE tableA 
      SET tableA.SECTION_ID = (
            SELECT tableAClone.SECTION_ID
            FROM tableAClone 
            WHERE tableA.CATEGORY_id = tableAClone.CATEGORY_id
        )
      WHERE EXISTS (
              SELECT tableAClone.SECTION_ID
              FROM table2 
              WHERE tableA.CATEGORY_id = tableAClone.CATEGORY_id
        )
      ;

【讨论】:

我在命令行遇到错误错误:34 列:32 错误报告:SQL 错误:ORA-00907:缺少右括号 00907。00000 -“缺少右括号” *原因:*操作:

以上是关于更新我的 sql 中的两个表时出错的主要内容,如果未能解决你的问题,请参考以下文章

更新表时 H2 数据库“重命名文件时出错”

使用 DataGrid 更新访问表时出错

PL/SQL:我在用另一个表中的数据更新表时遇到问题

通过 excel VBA 加入 SQL 表时出错

H2 - 使用 SQL 语句“SELECT * FROM null T”访问链接表时出错

SQL - 连接两个表时无法执行不同的计数