Maison > base de données > tutoriel mysql > Comment puis-je corriger ORA-01427 dans mon instruction Oracle UPDATE avec une sous-requête JOIN ?

Comment puis-je corriger ORA-01427 dans mon instruction Oracle UPDATE avec une sous-requête JOIN ?

Patricia Arquette
Libérer: 2024-12-17 01:54:25
original
377 Les gens l'ont consulté

How Can I Fix ORA-01427 in My Oracle UPDATE Statement with a JOIN Subquery?

Mise à jour avec la requête de jointure dans Oracle

Un utilisateur Oracle a rencontré un temps d'exécution interminable pour la requête suivante :

UPDATE table1 t1 SET (t1.col,t1.Output) = (
  SELECT t2.col, t3.Output + t2.col
  FROM tabl2 t3 
  LEFT JOIN table1 t2 ON t3.Join_Key = t2.Join_Key
  WHERE t2.col is not NULL);
Copier après la connexion

À moins que la sous-requête SELECT ne garantisse un résultat sur une seule ligne, l'instruction UPDATE échouera avec le error :

ORA-01427: single-row subquery returns more than one row
Copier après la connexion

Les mises à jour corrélées nécessitent une condition liant les lignes de la table externe (table1 dans ce cas) et la sous-requête interne. Généralement, cette condition apparaît :

AND t1.some_key = t2.some_key);
Copier après la connexion

De plus, la requête met à jour chaque ligne de la table1. Si l'utilisateur a l'intention de mettre à jour des lignes spécifiques, une clause WHERE qui filtre en fonction de la condition de jointure doit être ajoutée, telle que :

...
WHERE subquery_condition
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal