您的位置:首页 > 数据库 > Oracle

Oracle 中merge into不能更新on中的字段

2015-07-30 22:15 567 查看
oracle中的更新可以有这几中方式来实现:

1,update

2,merge

3,利用Pl/SQL批量更新

我这里比较update和merge两种更新操作:

首先看update操作:

SQL> Update emp Set deptno = 90 Where deptno In (Select deptno From dept);

14 rows updated.


这里是没有错误的。

merge 操作:

SQL> Merge Into emp a
2  Using dept_bak b
3  On (a.deptno = b.deptno)
4  When Matched Then
5    Update Set deptno = 90;
On (a.deptno = b.deptno)
*
ERROR at line 3:
ORA-38104: 无法更新 ON 子句中引用的列: "A"."DEPTNO"


这里可以看到merge操作是无法更新on中的条件字段。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: