Maison >base de données >tutoriel mysql >SQL Server peut-il mettre à jour les tables à l'aide d'une instruction SELECT?
Utilisez l'instruction SELECT pour mettre à jour la table dans SQL Server
SQL Server utilise l'instruction INSERT...SELECT
pour insérer les résultats de l'instruction SELECT
dans une table. Cet article explore si une opération de mise à jour similaire peut être effectuée à l'aide de l'instruction SELECT
.
SQL Server peut-il mettre à jour une table à l'aide de SELECT ?
Contrairement à l'instruction INSERT...SELECT
, SQL Server ne prend pas en charge nativement la syntaxe UPDATE...SELECT
. Cependant, une fonctionnalité similaire peut être obtenue en utilisant une combinaison d'instructions JOIN
et SET
.
Mise à jour en utilisant JOIN et SET
Pour mettre à jour une table avec les données d'une instruction SELECT
, procédez comme suit :
JOIN
correspondant aux lignes à mettre à jour. SET
, spécifiez les colonnes à mettre à jour et leurs valeurs correspondantes à partir de l'instruction SELECT
. WHERE
pour filtrer les lignes afin de garantir que seules les lignes prévues sont affectées. Par exemple, considérons la requête suivante :
<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>
Dans cet exemple, l'instruction UPDATE
modifie les colonnes Table_B
et Table_A
de col1
avec les données de la ligne col2
correspondante. La clause INNER JOIN
garantit que seules les lignes avec des valeurs id
correspondantes sont mises à jour, tandis que la clause WHERE
limite les mises à jour aux lignes où col3
est égal à 'cool' .
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!