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 :

RAISE_APPLICATION_ERROR + INSERT déclenchés par trigger


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
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut RAISE_APPLICATION_ERROR + INSERT déclenchés par trigger
    Bonjour à tous,

    Voilà, j'ai un petit problème auquel je ne trouve pas de solution.
    Je souhaiterais écrire un trigger, me permettant de déclencher une erreur oracle, et paralèlement qui insère les enregistrements bloqués dans une autre table.

    Je m'explique :
    T1(NUMCDE, ETAT, ...)
    T2(NUMCDE, LIGCDE, CODMAG, ...)
    T3(ZONE1, ZONE2, ZONE3...)
    Supposons le cas suivant :
    Dans T1 : NUMCDE = 1000 et ETAT = C
    Dans T2 : NUMCDE = 1000, LIGCDE = 1 et CODMAG = 10
    C'est que je voudrais faire, c'est que si je change l'état de ma commande, et que mon code magasin ne correspond pas à un critère donné, bloqué le changement d'état de la commande, et inséré dans T3 le numéro de celle-ci pour envoyer une alerte.
    i.e. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE T1
    SET T1.ETAT = V
    WHERE NUMCDE = 1000;
     
    IF ( T2.CODMAG NOT IN CONDITION) THEN
        INSERT INTO T3 (:NEW.NUMCDE, :NEW.ETAT, ...);
        RAISE_APPLICATION_ERROR(-20001, 'Validation commande impossible');
    END IF;
    Merci d'avance pour votre aide

  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
    Fais une procédure d'insertion Autonome (pragma autonomous transaction)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut Merci
    Merci McM
    Ca répond tout à fait à ce dont j'avais besoin
    Merci beaucoup

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

Discussions similaires

  1. Logger exception procédure déclenchée par un trigger
    Par senftarnaud dans le forum Développement
    Réponses: 1
    Dernier message: 03/04/2013, 18h54
  2. Insertion données par Trigger
    Par cedy-kassy dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/03/2012, 18h24
  3. Réponses: 4
    Dernier message: 04/05/2011, 09h25
  4. trigger déclenché par un utilisateur
    Par pointe dans le forum 4D
    Réponses: 1
    Dernier message: 16/05/2008, 11h58
  5. Annuler une insertion dans un Trigger
    Par dreamanoir dans le forum Oracle
    Réponses: 2
    Dernier message: 10/01/2005, 13h04

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