Mises à jour basées sur des requêtes

8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Divers | PL / SQL | SQL | RAC | WebLogic | Linux

Accueil « Articles » Divers « Ici

Cet article décrit comment une table peut être mise à jour en utilisant les données dune autre table.

  • Configuration
  • Méthode de sous-requête
  • Méthode daffichage en ligne
  • Méthode de linstruction MERGE

Articles connexes.

  • Instruction MERGE

Configuration

Le tableau DEST_TAB contient 10 000 lignes. Le contient 5 000 lignes, chacune ayant une valeur de clé correspondante avec une ligne de la table DEST_TAB, mais des données différentes dans le et DESCRIPTION.

À ce stade, nous ne pouvons voir aucune des valeurs dans DESCRIPTION colonne de la table DEST_TAB contient le mot « Updated ».

SELECT COUNT(*)FROM dest_tabWHERE description LIKE "Updated%"; COUNT(*)---------- 0SQL>

Le but est de mettre à jour le lignes de la table DEST_TAB avec les données de la table SOURCE_TAB.

Méthode de sous-requête

T La première option est de faire une mise à jour de la table DEST_TAB en utilisant une sous-requête pour extraire les données correctes de la table SOURCE_TAB. Notez le prédicat EXISTS pour exclure les lignes de la table DEST_TAB sans ligne correspondante dans le SOURCE_TAB table. Sans cela, les lignes sans correspondance auront leur valeur NULL.

Le plan dexécution du volume de données actuel est indiqué ci-dessous.

Si la charge de travail est suffisamment importante et que le serveur peut faire face à la charge de travail supplémentaire, le conseil PARALLEL peut être utilisé pour effectuer cette exécution en parallèle.

Méthode daffichage en ligne

La deuxième option est de joindre les deux tables en tant que vue en ligne et de baser la mise à jour sur cela.

Le plan dexécution pour le volume de données actuel est indiqué ci-dessous.

Si la charge de travail est suffisamment importante et le serveur peut faire face à la charge de travail supplémentaire, le conseil PARALLEL peut être utilisé pour effectuer cette exécution en parallèle.

Le nombre de lignes mises à jour peut être modifié en ajoutant une clause WHERE à la vue en ligne ou à linstruction de mise à jour principale.

  • Instruction MERGE

Jespère que aide. Cordialement Tim …

Retour en haut.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *