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 :

Probleme d'insertion dans la base de données distante


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Par défaut Probleme d'insertion dans la base de données distante
    Bonjour
    je desirerai faire une insertion dans la table de données distante lorsque l'objet modifié dans ma table local , n'y existe pas , sinon ( s'il existe ) je le met a jour, voila mon trigger , je ne sais pas ou ca déconne
    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
    CREATE OR REPLACE TRIGGER trigger_codeb AFTER UPDATE OR INSERT ON SUPPORTE FOR
    EACH ROW
    DECLARE
    sub_id VARCHAR(30);
    existe
    INTEGER:=0;
    BEGIN
    sub_id:=trouve_id_personne(:new.id_carte);
    select count(*)
    into existe from asynchrone@exportSynchrone where codebar= :old.codebar ;
    if
    (sub_id IS NOT NULL) then
    if ( existe > 0) then
    update
    asynchrone@exportSynchrone set  codebar= :new.codebar  where codebar =
    :old.codebar ;
    else
    insert into asynchrone@exportSynchrone
    (codebar,id_personne,diffphoto) values (:new.codebar
    ,substr(sub_id,1,(length(sub_id)-12)) ,'N');
    COMMIT;
    end if;
    end if;
     END ;
    avec
    ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE OR REPLACE FUNCTION trouve_id_personne(id_c VARCHAR2)
    RETURN varchar2 IS 
    id_p varchar(20);
    PRAGMA AUTONOMOUS_TRANSACTION;
    BEGIN
    select id_personne into id_p from porteur, supporte where porteur.id_carte=supporte.id_carte  and porteur.id_carte= id_c;
    RETURN id_p;
    Exception
    When NO_DATA_FOUND Then RETURN NULL;
    END

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    C'est quoi l'erreur ?
    Ton trigger est bien compilé ? Parce qu'un COMMIT dans un trigger c'est interdit.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Par défaut
    oui , il est compilé , 0 erreur
    quand je modifie une valeur qui n'existe pas dans la table distante , normaleme,t il doit l'inserer , or il le fait pas

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    il doit y avoir une erreur, comme c'est dit, commit dans trigger c'est pas possible

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Par défaut
    j'execute la requete dans sql*plus , lorsque j'execute le trigger , on m'affiche :
    comment faire pr qu'il detecte l'erreur ?

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Par défaut
    Si cela peut vs aider , je ss sur Oracle 10g express

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

Discussions similaires

  1. [MySQL] probleme d'insertion dans la base de donné
    Par pfakhmaies dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 14/07/2011, 11h33
  2. Probleme d'insertion dans une base de donnée
    Par jubourbon dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/06/2009, 10h35
  3. probleme d'insertion dans la base de données
    Par mystro7200 dans le forum JDBC
    Réponses: 11
    Dernier message: 03/12/2008, 19h49
  4. Probleme d'insertion dans la base de données
    Par dedein84 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 04/07/2008, 09h33
  5. Probleme d'insertion dans la base de données
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 11/06/2004, 16h21

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