Maîtriser les mises à jour des tables avec les instructions SELECT dans SQL Server
L'instruction INSERT...SELECT
de SQL Server simplifie l'ajout de lignes à l'aide des données d'une autre table. Mais pouvez-vous utiliser une approche similaire pour mettre à jour les tables ? Ce guide explique comment.
Disons que vous disposez d'une table temporaire avec les valeurs mises à jour que vous souhaitez fusionner dans votre table principale. Une approche courante (mais incorrecte) pourrait ressembler à ceci :
<code class="language-sql">UPDATE Table SET col1, col2 SELECT col1, col2 FROM other_table WHERE sql = 'cool' WHERE Table.id = other_table.id</code>
Cette syntaxe est erronée. La bonne méthode exploite les jointures pour des mises à jour efficaces et précises :
<code class="language-sql">UPDATE Table_A SET Table_A.col1 = Table_B.col1, Table_A.col2 = Table_B.col2 FROM Some_Table AS Table_A INNER JOIN Other_Table AS Table_B ON Table_A.id = Table_B.id WHERE Table_A.col3 = 'cool'</code>
Cette requête affinée utilise un JOIN
pour lier les lignes de Some_Table
(alias Table_A
) et Other_Table
(alias Table_B
) en fonction des valeurs id
correspondantes. La clause WHERE
filtre la mise à jour uniquement sur les lignes où Table_A.col3 = 'cool'
. Cela garantit l'intégrité et la précision des données lors de la mise à jour de vos tables à l'aide de données récupérées via une instruction SELECT
.
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!