PC Easy Weblog

mai 18, 2009

SQL Server – UPDATE de lignes d’une table par un SELECT

Filed under: Développement, Utilitaires — Étiquettes : , , , — trucmuche92 @ 9:26

Pour ceux qui comme moi ne se rappelaient plus comment on mettait à jour une table à partir d’un SELECT voici un mémo :

Le principe est de se représenter dans un premier temps un SELECT (multi-table) qui contient la table que l’on veut mettre à jour.

L’exemple ci-dessous mettra a jour le champ-flag ACTIF d’une table PRODUIT en fonction du champ VISIBLE du d’une table d’association CATALOGUE_PRODUIT dans lequel il est.

1 – Représentation en SELECT

select p.pro_actif, c.pro_visible, etc…
from PRODUIT p
inner join  CATALOGUE_PRODUIT c
on p.pro_codesap = c.pro_codesap

2 – Pour la commande d’UPDATE, on dégage la partie SELECT pour la remplacer par la syntaxe UPDATE

update p set p.pro_actif = c.pro_visible, p.datmaj = getdate()
from PRODUIT p
inner join  CATALOGUE_PRODUIT c
on p.pro_codesap = c.pro_codesap

On remarquera l’importance du raccourci (alias) p pour la table PRODUIT qui est représentée à la fois pour la table du SELECT et la table de l’UPDATE.

Remarque : on ne peut mettre à jour que les champs d’une table.

Publicités

Un commentaire »

  1. Génial, votre billet m’a été très utile, un grand merci 🙂

    Commentaire par Manu — juillet 20, 2012 @ 2:09


RSS feed for comments on this post. TrackBack URI

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Créez un site Web ou un blog gratuitement sur WordPress.com.

%d blogueurs aiment cette page :