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

PL/SQL Oracle Discussion :

ORA-00904 : Identificateur non valide


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut ORA-00904 : Identificateur non valide
    Bonjour,
    J'ai rédigé une procédure dans laquelle je mets à jour les données d'une table remote. Le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    create or replace procedure  Proc_updateRemotefromLocal as
     
    begin
     
       update table2@remote
       set 
       table2.montant  =localtable.montant,
       table2.date    = localtable.date   
       where table2.IDENTIFIER =localtable.ID
      ;
    end
    j'ai l'erreur de compilation suivante :
    Compilation errors for PROCEDURE user.Proc_updateRemotefromLocal

    Error: PL/SQL: ORA-00904: "LOCALTABLE"."ID" : identificateur non valide
    merci d'avance pour toute aide.

    Alynn

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 954
    Par défaut
    C'est normal localtable n'est pas défini dans la requête.
    Utilisez MERGE

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut
    Merci !

    Ca marche.

    Alynn la newbie

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut
    Re-Bonjour,

    Une seconde requête :

    Je souhaiterai que cette procédure soit automatiquement exécutée tous les matin à 10H et que la table local soit vidée juste après.

    Une idée de solution.

    Merci d'avance.

    Alynn

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 954
    Par défaut
    Regardez le package DBMS_SCHEDULER

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut
    Merci.

    Savez-vous pourquoi la ligne du truncate ne compile pas dans ce bout de code ?

    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
     
     
    CREATE OR REPLACE procedure  Proc_updateRemotefromLocal AS
     
    begin
     
    merge
    into table2@remote
    using localtable
    on  (table2.IDENTIFIER = localtable.id)
    when Matched then
    update
    set   
       table2.AMOUNT  =localtable.montant,
       table2.DATE    = localtable.date
    when not Matched then
    insert (table2.AMOUNT,table2.DATE) values(localtable.montant,localtable.date);
     
    TRUNCATE TABLE localtable;
     
    end Proc_updateRemotefromLocal ;

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/12/2010, 15h42
  2. erreur ora-00904 identificateur non valide
    Par zed80 dans le forum Oracle
    Réponses: 2
    Dernier message: 05/01/2010, 13h23
  3. Ora-00904 Identificateur non valide ?
    Par DBA_OCP dans le forum Oracle
    Réponses: 1
    Dernier message: 05/06/2009, 16h03
  4. ORA-00904 : identificateur non valide
    Par hotcold dans le forum SQL
    Réponses: 10
    Dernier message: 01/03/2009, 19h20
  5. Réponses: 5
    Dernier message: 13/08/2007, 13h02

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