IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Comment recupérer les records affectés par un update?


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Points : 126
    Points
    126
    Par défaut Comment recupérer les records affectés par un update?
    Bonjour,

    J'imagine que ma question a déjà été traitée, mais je n'arrive pas à trouver la réponse à mes interrogations. D'où ce post.

    Voilà, j'ai une table toute simple avec une colonne 'id' auto-incrémentée. La second colonne est un status qui peut valoir 'NEW' ou autre chose. Il est très facile de faire une query select pour récupérer tous les id des lignes lorsque la valeur est 'NEW'. Il est aussi très facile de faire une query pour changer tous les 'NEW' en autre chose.

    Mais comment faire une query qui change les NEW en une autre valeur et me retourne les id des rangs changé?

    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Si vous utilisez SQL Server, utilisez la clause "OUTPUT".
    https://msdn.microsoft.com/fr-fr/library/ms177564.aspx

    Pour les autres SGBD, je ne saurais dire si c'est une clause SQL standard (ce n'est pas indiqué dans la doc de SQL Server...) A tenter au cas où
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    De façon générale, vous pouvez, au sein d'une transaction avec un niveau d'isolement SERIALIZABLE extraire votre liste d'id avec une première requête, puis modifier vos valeurs avec une seconde requete.

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    La solution du OUTPUT est quand même plus propre, ça fait qu'une seule requête avec un niveau de transaction atomique :o
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/06/2006, 14h45
  2. comment comparer les valeurs retournés par DBGrid
    Par Ice-tea dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/06/2006, 14h42
  3. comment intérroger les Primary key par req SQL ?
    Par nanou9999 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/03/2006, 10h22
  4. [9i] Nombre de lignes affectées par un update
    Par yac dans le forum Oracle
    Réponses: 5
    Dernier message: 13/01/2006, 15h59
  5. [SAX] Comment gerer les erreurs soulevés par sax
    Par tipaquo dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 03/07/2005, 12h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo