Bonjour,

j'ai un problème avec la commande merge :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
desc t_environnement;
 
--- MISE A JOUR DE LA TABLE ENVIRONNEMENT ---
merge into t_environnement X
using ( select ENVIRONNEMENT,ID_DOMAINE from t_environnement_tmp ) T
on ( X.ENVIRONNEMENT=T.ENVIRONNEMENT and X.ID_DOMAINE=T.ID_DOMAINE )
when matched then update
set X.ID_ENVIRONNEMENT=T.ID_ENVIRONNEMENT , X.ENVIRONNEMENT=T.ENVIRONNEMENT , X.ID_DOMAINE=T.ID_DOMAINE
when not matched then
insert ( X.ID_ENVIRONNEMENT,X.ENVIRONNEMENT,X.ID_DOMAINE,X.ID_ENVIRONNEMENT_ORA ) values ( T.ID_ENVIRONNEMENT,T.ENVIRONNEMENT,T.ID_DOMAINE,sequence_environne
ment.NextVal);
et voici le résultat :
Name Null? Type
----------------------------------------- -------- ----------------------------
ID_ENVIRONNEMENT_ORA NOT NULL NUMBER(6)
ID_DOMAINE NUMBER(6)
ID_ENVIRONNEMENT NOT NULL NUMBER(2)
ENVIRONNEMENT VARCHAR2(16)

insert ( X.ID_ENVIRONNEMENT,X.ENVIRONNEMENT,X.ID_DOMAINE,X.ID_ENVIRONNEMENT_ORA ) values ( T.ID_ENVIRONNEMENT,T.ENVIRONNEMENT,T.ID_DOMAINE,sequence_environnement.NextVal)
*
ERROR at line 7:
ORA-00904: "T"."ID_ENVIRONNEMENT": invalid identifier

j'avoue que je ne comprend pas le problème