ORA-38104: 无法更新 ON 子句中引用的列: "T2"."NAME" 2. DELETE子句的WHERE顺序必须最后 MERGE INTO T2 USING T1 ON (T1.NAME=T2.NAME) WHEN MATCHED THEN UPDATE SET T2.MONEY=T1.MONEY+T2.MONEY DELETE WHERE (T2.NAME = 'A') WHERE T1.NAME='A'; ORA-00933: SQL 命令未正确结束 3.DELETE...
正确的写法, 1:要么UPDATE SET 后面字段不能包含ON 后面出现的字段 2:要么直接就不使用下面的语句(这个根据实际需求来取舍) WHEN MATCHED THEN UPDATE SET "CONFIG_ID" = 2,"REPORT_ID"=6 参考链接:Oracle“ORA-38104: 无法更新ON子句中引用的列”解决方式 - MrZhaoyx - 博客园 ——— 版权声明:本文为CSD...
查询块具有不正确的结果列数。 这个错误一般在执行表之间的相加(union),相减(minus)等SQL语句时发生。只要将两段SQL语句的列数调整一致就可以解决了。 3.ora-00907 缺失右括号 4.ORA-00933 sql未正确结束 5.ora-01031 权限不足 需要登录dba用户赋予相关权限 6.ora-22818 不允许子查询在这里 一个比较典型的例...
ORA-38104: Columns referenced in the ON Clause cannot be updated - This error occurs when trying to update a column in the ON clause of the MERGE statement, which is not allowed in Oracle. ORA-38108: Columns in the UPDATE and WHERE clauses must be in the target table - This error occ...
假设iD为主键,脚本改成 MERGE INTO TEST_111111 T1 USING TEST_222222 T2 ON (T1.ID= T2.ID) WHEN MATCHED THEN UPDATE SET T1.NAME = T2.NAME WHEN NOT MATCHED THEN INSERT VALUES (T2.ID,T2.NAME); --PART2:ora-38104:无法更新on子句中引用的列 ...
The workaround introduced with #8158 for ORA-38104 errors no longer works. We've used row value expressions like this to "outsmart" Oracle's parser: merge into "TEST"."T_BOOK" using ( select 1 "one" from dual ) on (("TEST"."T_BOOK"."ID",...
Since jOOQ 3.11 (#6462) the ON DUPLICATE KEY UPDATE clause is emulated in other databases by running a MERGE statement that checks for duplicates in all of a table's unique keys, not just the primary key. This causes ORA-38104 errors in ...
3:on 中的条件不能是更新操作列,不然会报错:ora-38104 merge into student a using (select '7' as id from dual) s on (a.id = s.id) when matched then update set a.id = '7' when not matched then insert (id, student_name, fk_class) values ('7', '小明', '2'); ...
1、主表 Student 2、从表 Boy 三、建表SQL(DDL) 1、主表 Student 1 --DDL2CREATE TABLE student (3id NUMBER NOT NULL ,4 name VARCHAR2(255BYTE) NULL ,5 sex VARCHAR2(255BYTE) NULL6)78ALTER TABLE student ADD CHECK (id IS NOT NULL);910 --DML11 INSERT INTO student VALUES ('1','zhang...
3:on 中的条件不能是更新操作列,不然会报错:ora-38104 mergeintostudent ausing(select'7'asidfromdual)s on(a.id=s.id)when matched then updateseta.id='7'when not matched then insert(id,student_name,fk_class)values('7','小明','2');...