次の説明を含む2つのテーブルを作成しました
SQL> desc new_emp Name Null?タイプ
EMPNO NUMBER(4)ENAME VARCHAR2(10)JOB VARCHAR2(9)HIREDATE DATE SAL NUMBER(7,2)COMM NUMBER(7,2)DEPTNO NUMBER(2)
SQL> desc old_emp Name Null?タイプ
EMPNO NUMBER(4)ENAME VARCHAR2(10)JOB VARCHAR2(9)HIREDATE DATE SAL NUMBER(7,2)COMM NUMBER(7,2)DEPTNO NUMBER(2)
これらの2つのテーブルに以下のMergeステートメントを使用しています
一致したときにold_empoon(o.empno = n.empno)を使用してnew_emp nにマージし、セットn.empno = o.empno、n.ename=oを更新します。ename、n.job = o.job、n.hiredate = o.hiredate、n.sal = o.sal、n.comm = o.comm、n.deptno = o.deptno
が一致しない場合は、値を挿入します(o。 empno、o。ename、o.job、o.hiredate、o.sal、o.comm、o.deptno)
上記のステートメントを実行すると、システムは次のエラーを表示します。ORACLE9iバージョンを使用しています。
ORA-00904:"N"。"EMPNO":識別子が無効です