Mettre à jour les données de la table à l'aide d'Oracle SQL
Lorsque vous utilisez des bases de données relationnelles telles qu'Oracle SQL, vous pouvez rencontrer des scénarios dans lesquels vous devez mettre à jour une table avec les données d'une autre table. Cette tâche est généralement effectuée à l'aide de la commande UPDATE de SQL.
Question :
Supposons qu'il y ait deux tables, le tableau 1 et le tableau 2, contenant toutes deux des colonnes id, name et desc, et que vous deviez mettre à jour les données du tableau 1 avec les données correspondantes du tableau 2 en fonction des valeurs d'identifiant correspondantes. Le résultat souhaité est que le tableau 1 doit être mis à jour avec les valeurs name et desc correspondant aux valeurs id du tableau 2.
Solution :
Pour implémenter cette mise à jour, vous pouvez utiliser la mise à jour appropriée dans Oracle SQL. Voici la méthode détaillée :
<code class="language-sql">UPDATE table1 t1 SET (name, desc) = (SELECT t2.name, t2.desc FROM table2 t2 WHERE t1.id = t2.id) WHERE EXISTS ( SELECT 1 FROM table2 t2 WHERE t1.id = t2.id );</code>
Instructions :
Approche alternative (en supposant que la clé conserve la vue) :
Si la jointure entre le tableau 1 et le tableau 2 aboutit à une vue préservant les clés, vous pouvez également utiliser la méthode suivante :
<code class="language-sql">UPDATE (SELECT t1.id, t1.name name1, t1.desc desc1, t2.name name2, t2.desc desc2 FROM table1 t1, table2 t2 WHERE t1.id = t2.id) SET name1 = name2, desc1 = desc2;</code>
Instructions :
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!