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 :

erreur au niveau trigger


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut erreur au niveau trigger
    Bonsoir tout le monde

    j'ai a developper un trigger , ce dernier s'execute sans prob lorsque je passe a update une valeur qui existe dans la table , sinon ca m'affiche une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    update supporte set codebar='222' where id_carte='2'
           *
    ERREUR Ó la ligne 1 :
    ORA-01403: aucune donnÚe trouvÚe
    ORA-06512: Ó "UNICAMPUS.TROUVE_ID_PERSONNE", ligne 5
    ORA-06512: Ó "UNICAMPUS.TRIGGER_CODEB", ligne 5
    ORA-04088: erreur lors d'exÚcution du dÚclencheur 'UNICAMPUS.TRIGGER_CODEB'
    sachant que l'enregistrement avec id_carte =2 n'existe pas dans la table supporte.
    voila mon trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE OR REPLACE TRIGGER trigger_codeb BEFORE UPDATE OR INSERT ON SUPPORTE FOR EACH ROW 
    DECLARE sub_id VARCHAR(30);
    BEGIN 
    sub_id:= trouve_id_personne(:new.id_carte);
    if (sub_id IS NOT NULL) then
    update  asynchrone@dblink1  set  codebar= :new.codeBar  where id_personne = substr(sub_id,1,(length(sub_id)-12)) ;
    end if;
    END ;
    ma fcontiorn trouve_id_personne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    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;
    END;
    je pense que l'erreur vient lorsque la fonction retourne NULL , je ne sais pas comment gerer cela

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut Aucune donnée trouvée => Select
    Bonjour,

    L'erreur 1403 survient dans votre fonction TROUVE_ID_PERSONNE.

    C'est le select qui pêche. S'il ne trouve aucune donnée il délivre l'erreur 1403.
    Vous devriez gérer ce cas en posant un clause EXCEPTION.
    Quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    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;
    Pozzo

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    Cool , ca marche a merveille
    Merci

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 11/11/2006, 12h20
  2. [VBA] erreur au niveau du code
    Par torNAdE dans le forum Access
    Réponses: 9
    Dernier message: 26/07/2006, 14h33
  3. Gestion des erreurs dans un TRIGGER
    Par SDU64 dans le forum DB2
    Réponses: 1
    Dernier message: 18/05/2006, 09h51
  4. [phpBB] Erreur au niveau de la base suite à mise à jour
    Par Goundy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 05/03/2006, 14h50
  5. [EJB] Erreur au niveau de la récuperation du home
    Par ujoodha dans le forum Java EE
    Réponses: 3
    Dernier message: 05/10/2005, 13h50

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