Tiration de sélection des instructions pour les mises à jour d'enregistrement de serveur SQL
SQL Server propose l'instruction INSERT...SELECT
pour l'insertion de lignes. Ce guide montre comment mettre à jour les enregistrements existants de la même manière à l'aide de données provenant d'un autre tableau.
Structure de requête de mise à jour
La syntaxe suivante facilite la mise à jour des enregistrements en fonction des données d'une instruction SELECT:
<code class="language-sql">UPDATE Table_A SET Table_A.col1 = Table_B.col1, Table_A.col2 = Table_B.col2 FROM Table_A AS Table_A INNER JOIN Table_B AS Table_B ON Table_A.id = Table_B.id WHERE Table_A.col3 = 'cool';</code>
Explication détaillée
UPDATE Table_A
: Spécifie la table cible pour les mises à jour. SET
: Attribue des valeurs de Table_B
aux colonnes spécifiées dans Table_A
. FROM
: Identifie les tableaux impliqués dans l'opération de mise à jour. INNER JOIN
: liens Table_A
et Table_B
basé sur une colonne commune. ON
: définit la condition de jointure (colonnes correspondantes). WHERE
: filtre les lignes mises à jour en fonction d'une condition spécifique. Exemple pratique
Imaginez Table_A
avec les colonnes id
, col1
, col2
, et col3
, et Table_B
(potentiellement une table temporaire) contenant des valeurs mises à jour pour id
, col1
, et col2
.
pour mettre à jour Table_A
en utilisant des données de Table_B
où col3
est `` cool '', utilisez cette requête:
<code class="language-sql">UPDATE Table_A SET Table_A.col1 = Table_B.col1, Table_A.col2 = Table_B.col2 FROM Table_A INNER JOIN Table_B ON Table_A.id = Table_B.id WHERE Table_A.col3 = 'cool';</code>
Cette requête rejoint les tables de la colonne id
, mettant à jour col1
et col2
dans Table_A
uniquement pour les lignes où col3
est égal à «cool» dans les deux tables. Cela garantit que seuls les enregistrements correspondants sont mis à jour.
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!