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

SQL Oracle Discussion :

Mise à jour - SET multi-lignes Oracle


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 29
    Points : 11
    Points
    11
    Par défaut Mise à jour - SET multi-lignes Oracle
    Bonjour à tous,

    je vous explique mon problème : je dois mettre à jour une table, et donc faire un SET multiples sur des champs de colonnes

    mon script est le suivant :

    update table

    SET table.NBE_RDV = (select count(*) TOTAL from hi0
    where hi0.type = 'RDV' and hi0.ref like '%Commercial%'
    group by titulaire)

    where table.Commercial IN (select titulaire from hi0
    where hi0.type = 'RDV' and hi0.ref like '%Commercial%'
    group by titulaire)

    Sachant que mes 2 sous requetes sont les mêmes, elles retournent juste 2 champ différent pour le SET et le WHERE.

    Cela sort une erreur Oracle : sous interrogations ramenant plus d'une ligne sur le SET.

    Quelqu'un saurais comment lui faire faire mes mises à jour ?

    Merci à tous.

    Fabien.

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 29
    Points : 11
    Points
    11
    Par défaut
    J'essaie également de faire comme cela :

    update table

    SET table.NBE_RDV = TOTAL

    where TRes.Commercial IN (select count(*) TOTAL,
    titulaire from hi0
    where hi0.type = 'RDV' and hi0.ref like '%Commercial%'
    group by titulaire)

    ;

    mais TOTAL reste inconnu pour Oracle.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 29
    Points : 11
    Points
    11
    Par défaut
    Réponse :

    update table

    SET (NBE_RDV) = (select count(*) TOTAL from hi0
    where table.Commercial = hi0.titulaire
    and hi0.type = 'RDV' and hi0.ref like '%Commercial%'
    group by titulaire)

    where TRes.Commercial IN (select titulaire from hi0
    where hi0.type = 'RDV' and hi0.ref like '%Commercial%'
    group by titulaire)

    ;



  4. #4
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    C'est bien
    Tu as trouvé la réponse tout seul !

    LBO72.

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

Discussions similaires

  1. Mise à jour de plusieurs ligne dans un UPDATE
    Par sofien dans le forum SQL
    Réponses: 14
    Dernier message: 11/07/2008, 08h26
  2. [MySQL] Mise à jour dynamique des lignes d'un tableau
    Par woodyfrance dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/02/2008, 11h50
  3. Réponses: 3
    Dernier message: 31/01/2008, 17h48
  4. Attribut de Mise à jour d'une ligne
    Par moezm7 dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/07/2007, 15h02
  5. Mise à jour d'un BLOB Oracle
    Par philou1008 dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/12/2006, 11h44

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