ошибка слияния - PullRequest
       18

ошибка слияния

0 голосов
/ 01 марта 2010

Я создал две таблицы со следующими описаниями

SQL> desc new_emp Имя Нуль? Тип


НОМЕР ИМПНОТА (4) ENAME VARCHAR2 (10) JOB VARCHAR2 (9) Дата поступления НОМЕР ПРОДАЖИ (7,2) COMM NUMBER (7,2) ОТДЕЛЬНЫЙ НОМЕР (2)

SQL> desc old_emp Имя Нуль? Тип


НОМЕР EMPNO (4) ENAME VARCHAR2 (10) JOB VARCHAR2 (9) Дата поступления НОМЕР ПРОДАЖИ (7,2) COMM NUMBER (7,2) ОТДЕЛЬНЫЙ НОМЕР (2)

Я использую статистику слияния, как указано ниже для этих двух таблиц

Объединить в new_emp n с помощью old_emp o на (o.empno = n.empno) когда соответствует Обновить установить n.empno = o.empno, n.ename = о. ENAME, n.job = o.job, n.hiredate = o.hiredate, n.sal = o.sal, n.comm = o.comm, n.deptno = o.deptno
когда не совпадают, то вставить значения (o.empno, о. ENAME, o.job, o.hiredate, o.sal, o.comm, о.дептно)

когда я выполнил вышеупомянутое утверждение система показывает следующую ошибку, я использую версию ORACLE 9i

ORA-00904: "N". "EMPNO": неверный идентификатор

1 Ответ

0 голосов
/ 01 марта 2010

В Oracle 10.2.0.1.0 я получаю эту ошибку с вашим оператором MERGE:

ORA-38104: Columns referenced in the ON Clause cannot be updated: "N"."EMPNO"

Так что попробуйте удалить "n.empno = o.empno" из вашего предложения SET.

...