Maison > base de données > tutoriel mysql > Puis-je utiliser les instructions SELECT pour mettre à jour les tables dans SQL Server ?

Puis-je utiliser les instructions SELECT pour mettre à jour les tables dans SQL Server ?

DDD
Libérer: 2025-01-25 05:01:11
original
905 Les gens l'ont consulté

Can I Use SELECT Statements to Update Tables in SQL Server?

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>
Copier après la connexion

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>
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal