2010-03-01 4 views
0

J'ai créé deux tables avec des descriptions suivantesdéclaration de fusion err

SQL> desc nouveau_emp Nom Null? Tapez


EMPNO NUMBER (4) ENAME VARCHAR2 (10) JOB VARCHAR2 (9) HireDate DATE SAL NUMBER (7,2) NUMERO DE COMM (7,2) DEPTNO NUMBER (2)

SQL> desc old_emp Nom Nul? Tapez


EMPNO NUMBER (4) ENAME VARCHAR2 (10) JOB VARCHAR2 (9) HireDate DATE SAL NUMBER (7,2) NUMERO DE COMM (7,2) DEPTNO NUMBER (2)

I m en utilisant un statment de fusion comme indiqué ci-dessous pour ces deux tables

fusion dans nouveau_emp n utilisant old_emp o on (o.empno = n.empno) en cas de correspondance, puis mise à jour ensemble n.empno = o.empno, n.nom = o. Ename, n.job = o.job, n.hiredate = o.hiredate, n.sal = o.sal, n.comm = o.comm, n.deptno = o.deptno
lorsqu'ils ne sont pas puis identifié insertion des valeurs (o.empno, o. ename, o.job, o.hiredate, o.sal, o.comm, o.deptno)

quand j'exécutés ce qui précède instruction système affiche erreur de suivi, im en utilisant la version ORACLE 9i

ORA-00904: "N" "de EMPNO":. Identifiant invalide

Répondre

0

Dans Oracle 10.2.0.1.0 je reçois cette erreur avec votre instruction MERGE:

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

essayer donc supprimer « n.empno = o.empno "de votre clause SET.

+0

merci cela fonctionne maintenant – bhagwat