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 :

UPDATE vis à vis de la ligne en cours de lecture


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 129
    Points : 57
    Points
    57
    Par défaut UPDATE vis à vis de la ligne en cours de lecture
    Bonjour à tous,

    J'essaie en ce moment de mettre à jour chaque ligne d'une de mes tables à l'aide d'une requête qui sélectionne deux champs, les concatène, puis insère le résultat dans un autre champs de la même table.
    Je sais que je pourrais le traiter en PHP, mais j'aimerais apprendre si une solution purement SQL est possible.

    Ma requete ne fonctionne pas à l'heure actuelle (retourne plusieurs lignes dans la sous requête du coup plante):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE donnees SET referc = (SELECT CONCAT(refer, taille) FROM donnees)
    Mon principal problème étant de signifier que je ne veux "refer" et "taille" que pour la ligne lue...

    NB: J'utilise PostGre.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Pourquoi passer par une sous-requête ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    update MaTable set Col2 = concat(col1,col3)

    Tatayo.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 129
    Points : 57
    Points
    57
    Par défaut
    Je vous remercie vivement pour cette solution. Je n'aurais jamais pensé que cela pourrait fonctionner ainsi d'où ma suggestion de sous-requête.

    Merci encore

  4. #4
    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,

    Si votre SGBD le permet, passez plutôt par une colonne calculée, ou par une vue.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer la ligne en cours de lecture dans un datagridview
    Par leeloo95 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 20/01/2010, 10h21
  2. Réponses: 2
    Dernier message: 05/02/2006, 21h19
  3. Fenêtre modale vis à vis de la fenêtre appelante
    Par hroz dans le forum Composants VCL
    Réponses: 1
    Dernier message: 08/11/2005, 14h33
  4. Récupérer la ligne en cours dans un DBGrid
    Par PH69 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/07/2005, 16h59
  5. indépendance vis à vis de ODBC
    Par ka0z dans le forum ASP
    Réponses: 2
    Dernier message: 08/06/2004, 16h56

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