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 :

Faire un update avec une ss requete renvoyant plusieur row


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 74
    Points : 52
    Points
    52
    Par défaut Faire un update avec une ss requete renvoyant plusieur row
    Bonjour tous,

    Voilà mon probleme : J'esaie de modifier plusieurs tuple d'un coup à partir d'une requete de recherche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    UPDATE OP 
    FROM MLX_OPERATIONS OP, 
    (SELECT X ... ) AS OPS 
    SET OP.OPE_AN_TEST = 2006 
    WHERE OP.OPE_ID = OPS.OPE_ID
    La requete select fonctionne, c'est pour celà que je laisse X, quand je lance la requete on me dit que la requete est invalide,

    Avez vous une idée de la ou sa peut venir, car je ne vois pas
    merci
    [/code]

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    ton from avant le select me semble bizarre.

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Ta syntaxe me semble complètement farfelue : qu'est-ce que tu veux faire ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 74
    Points : 52
    Points
    52
    Par défaut
    J'ai besoin de faire un uptade de la table MLX_OPERATION sur le champs OPE_AN_TEST. Les tuples qui doivent etre modifier, sont ceux du select que j'ai placer dans le from ... D'ou la jointure dans la where OP.OPE_ID = OPS.OPE_ID

    En fait en regardant le topic sur la FAQ, j'ai reperer le code suivant et je suis parti de celui la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    update   MAJ 
    from   TABLE_CIBLE      as MAJ 
       ,   (   select    CLE_JOINTURE 
                ,   count(*)   as CHAMP_SOURCE   -- exemple... 
                from   TABLE_SOURCE 
                group by CLE_JOINTURE 
          )   as SRC 
    set      CHAMP_CIBLE      = SRC.CHAMP_SOURCE 
    where    MAJ.CLE_JOINTURE = SRC.CLE_JOINTURE

  5. #5
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    et tu travaille sur quelle sgbd? quelle version?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 74
    Points : 52
    Points
    52
    Par défaut
    oracle 9.2

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 74
    Points : 52
    Points
    52
    Par défaut
    C bon j'ai trouvé, je testé plusieurs type de requete enfait il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE MLX_OPERATIONS OP 
    SET OP.OPE_AN_TEST = 2006 
    WHERE OP.OPE_ID in (SELECT X ... )
    Merci a vous ...

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

Discussions similaires

  1. Requête comment faire un Update avec une concaténation
    Par Chocolat49 dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 13/02/2014, 20h39
  2. Réponses: 2
    Dernier message: 15/06/2011, 14h10
  3. Réponses: 5
    Dernier message: 30/11/2009, 11h14
  4. [VB] faire un update avec une bdd en xml
    Par ekmule dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 01/02/2006, 22h41

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