Requête de mise à jour d'Oracle à l'aide d'une jointure : résolution de l'erreur ORA-00933
Dans une tentative de mise à jour de la colonne 'total_adjusted_cost' dans la table1 à l'aide d'une jointure avec la table t1, une erreur ORA-00933 a été rencontrée. Cette erreur indique que la commande SQL n'a pas été correctement terminée.
Pour résoudre ce problème, envisagez plutôt d'utiliser l'instruction MERGE. L'instruction MERGE combine les fonctionnalités des instructions INSERT, UPDATE et DELETE en une seule opération. Voici comment mettre à jour la table à l'aide de l'instruction MERGE :
MERGE INTO table1 tab1 USING ( SELECT tab3.name, tab3.add, SUM(tab2.amount) AS total FROM table2 tab2, table3 tab3 , table4 tab4 WHERE tab2.id = tab3.id AND tab3.id = tab4.id AND tab4.indicator ='Y' GROUP BY tab3.name, tab3.add )t1 ON (tab1.id = t1.id) WHEN MATCHED THEN UPDATE SET tab1.total_adjusted_cost = tab1.total_adjusted_cost + t1.total
Dans cette instruction MERGE :
L'utilisation de l'instruction MERGE garantit que la mise à jour est effectuée correctement et évite l'erreur ORA-00933.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!