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 :

Problème Requête Update


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 77
    Par défaut Problème Requête Update
    Bonjour,

    Voici une requête d'update qui semble correcte du point de vue de la syntaxe, mais qui refuse de s'exécuter...

    si vous pouvez m'aider...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    UPDATE
      APOGEE.ELP_CHG_TYP_HEU
    SET
      APOGEE.ELP_CHG_TYP_HEU.COD_COLL_TH=APOGEE.COLLECTION.COD_COL
    WHERE
      (APOGEE.ELP_CHG_TYP_HEU.COD_ELP,APOGEE.ELP_CHG_TYP_HEU.COD_TYP_HEU,APOGEE.ELP_CHG_TYP_HEU.COD_ANU) IN
    ( SELECT DISTINCT
        apogee.element_pedagogi.cod_elp,
        apogee.elp_chg_typ_heu.cod_typ_heu,
        apogee.elp_charge_ens.cod_anu,
        apogee.collection.cod_col
    FROM
        apogee.collection
        INNER JOIN apogee.groupe ON apogee.collection.cod_col = apogee.groupe.cod_col
        INNER JOIN apogee.gpe_obj ON apogee.groupe.cod_gpe = apogee.gpe_obj.cod_gpe
        INNER JOIN apogee.elp_chg_typ_heu ON apogee.elp_chg_typ_heu.cod_elp = apogee.gpe_obj.cod_elp
                                             AND apogee.elp_chg_typ_heu.cod_typ_heu = apogee.groupe.cod_tgr
        INNER JOIN apogee.elp_charge_ens ON apogee.elp_charge_ens.cod_elp = apogee.elp_chg_typ_heu.cod_elp
                                            AND apogee.elp_charge_ens.cod_anu = apogee.elp_chg_typ_heu.cod_anu
        INNER JOIN apogee.element_pedagogi ON apogee.element_pedagogi.cod_elp = apogee.elp_charge_ens.cod_elp
    WHERE
        apogee.elp_charge_ens.cod_anu = '2018'
        AND apogee.elp_charge_ens.tem_cal_chg = 'O'
        AND apogee.elp_chg_typ_heu.nbr_grp_th_mod IS NULL
        AND ( apogee.collection.daa_fin_col IS NULL
              OR apogee.collection.daa_fin_col >= 2018 )
        AND apogee.groupe.cod_cgp IS NULL
    );

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 125
    Par défaut
    Citation Envoyé par chris76 Voir le message
    Voici une requête d'update qui semble correcte du point de vue de la syntaxe, mais qui refuse de s'exécuter...
    comment sait-tu que ça ne s'exécute pas? il y'a une message d'erreur? , si oui quel est ce message? tu utilise quel SGBD et quel outil pour l'exécution de ta requête? donc aide nous à t'aider STP.


    Première remarque, il faut utiliser les alias pour te faciliter la lecture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    UPDATE
      APOGEE.ELP_CHG_TYP_HEU ae
    SET
      ae.COD_COLL_TH = ac.COD_COL
     
    …….
     
    …….
     
        FROM APOGEE.COLLECTION ac

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 77
    Par défaut
    Pour l'outil, c'est un SQL Developper 18.3, sur de l'Oracle.

    Le message, en gros, il dit qu'il ne trouve pas la table Collection...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 77
    Par défaut
    Voici le message d'erreur :
    Erreur à la ligne de commande: 32 Colonne: 31
    Rapport d'erreur -
    Erreur SQL : ORA-00904: "COLLECTION"."COD_COL" : identificateur non valide
    00904. 00000 - "%s: invalid identifier"
    *Cause:
    *Action:

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 77
    Par défaut
    Je précise que le "select" seul marche parfaitement, et me ramène bien les données...

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 468
    Par défaut
    Bonjour,
    C'est tout à fait normal. La table APOGEE.COLLECTION n'est que dans la sous-requête, tu ne peux donc pas l'utiliser dans la clause SET.

    Tatayo.

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

Discussions similaires

  1. Problème requète update, sql server 2000
    Par Guena5635 dans le forum Développement
    Réponses: 3
    Dernier message: 28/04/2008, 10h32
  2. [Débutant] Problème requête Update
    Par aure298 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/01/2008, 16h54
  3. [C#] Problème requête update via OdbcDataAdpter
    Par LE NEINDRE dans le forum ASP.NET
    Réponses: 12
    Dernier message: 16/06/2006, 11h52
  4. Problème Requête UPDATE (ou pas)
    Par mastasushi dans le forum Access
    Réponses: 7
    Dernier message: 03/05/2006, 08h42
  5. [MySQL] problème requête UPDATE
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 23/10/2005, 18h28

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