Oracle Update

Résolu
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   -  
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à faire une requête Update, mais celle ci échoue lamentablement:

Voici la requête:

UPDATE DOCUMENT1
SET DOCUMENT1.Description = DOCUMENT2.Description
WHERE DOCUMENT1.ID = DOCUMENTMASTER.ID 
AND DOCUMENTMASTER.ID = DOCUMENT2.ObjectNumber
AND DOCUMENT1.VERSION = DOCUMENT2.Revision
AND DOCUMENT1.ITERATION = DOCUMENT2.Iteration;


J'ai trois tables: Document1, Document2 et DocumentMaster.

Je souhaite mettre le champ description de document1 dans le champ description de document2 dans la cas ou revision et iteration de ces deux tables sont identiques (pour un même document, donc en passant par DocumentMaster).

J'utilise SQLPlus (Oracle) et j'ai l'erreur suivante:

ERROR at line :
ORA-00904: DOCUMENT2"."Iteration": invalid identifier
A voir également:

1 réponse

jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Bonjour,

Pour faire cette opération il faut faire un sous-select pour ramener la valeur souhaitée.

Quelque chose comme :

UPDATE DOCUMENT1
SET DOCUMENT1.Description = ( select DOCUMENT2.Description
FROM DOCUMENT2, DOCUMENTMASTER
WHERE DOCUMENT1.ID = DOCUMENTMASTER.ID 
AND DOCUMENTMASTER.ID = DOCUMENT2.ObjectNumber
AND DOCUMENT1.VERSION = DOCUMENT2.Revision
AND DOCUMENT1.ITERATION = DOCUMENT2.Iteration ) ;


cdlt
1
varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
Merci, ça marche beaucoup mieux :)
0