SQL ORACLE ORA-00969 : missing ON keyword?

标签 sql oracle

我有两个不同的表:Table_a 和 Table_b,两者都有相同的列 PartNo 和 Material_Desc。我希望当 PartNo 相等时,Table_b 中的 Material_Desc 更新 Table_a 中的 Material_Desc。这是我的查询

MERGE INTO Table_b 
USING ( SELECT t1.rowid AS rid
               , t2.Material_Desc
        FROM Table_b t1 
           JOIN Table_a t2 
           ON Table_b.PartNo = Table_a.PartNo ) 
ON rowid = rid 
WHEN MATCHED THEN 
    UPDATE 
    SET Table_a.Material_Desc = Table_b.Material_Desc;

我知道Oracle不支持更新语句的连接,所以我尝试了上面的查询。它仍然给我 ORACLE ORA-00969: 缺少 ON 关键字错误

最佳答案

您可以输入“(”和“)”。所以写:

ON ( rowid = rod )

关于SQL ORACLE ORA-00969 : missing ON keyword?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7577480/

相关文章:

java - .nextval JDBC 插入问题

mysql - 选择非重复记录

c# - 如何使用 C# 从 oracle 数据库中填充数据集

oracle - 使用 Oracle 删除 LF

sql - Oracle to_date 季度格式函数

c# - 具有 Oracle 数组绑定(bind)的 ExecuteReader

sql - 在 postgresql 的单个查询中使用 WITH + DELETE 子句

sql - 选择某些相关行中特定列大于零的行

mysql - SQL - 从插入的一个字段复制 LEFT 300 个字符到新字段

sql - 使用纯 Oracle SQL 的任何更好的 Fibonacci 系列生成器?