Oracle Update

Résolu/Fermé
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 - 24 janv. 2013 à 15:17
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 - 25 janv. 2013 à 18:16
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 39622 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 9 231
25 janv. 2013 à 17:24
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 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 699
25 janv. 2013 à 18:16
Merci, ça marche beaucoup mieux :)
0