SQL SERVER– UPDATE DE LIGNES D’UNE TABLE PAR UN SELECT

  • Auteur/autrice de la publication :
  • Post category:SQL
  • Commentaires de la publication :0 commentaire

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.

Laisser un commentaire