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 :

Insérer malgré une erreur Trigger


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Insérer malgré une erreur Trigger
    Bonjour,

    J'ai un Trigger After Insert sur une table qui copie certaines valeurs dans une autre table et réalise quelques traitements.

    Je voudrais savoir s'il est possible d'effectuer l'Insert même si une erreur survient dans le trigger (à la limite que les actions effectuées par le trigger ne soient pas réalisées mais que les insertions dans la table d'origine le soient).

    Merci.

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

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Modifie le trigger pour ne jamais sortir en erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXCEPTION WHEN OTHERS THEN NULL;
    Ps : Les Fanatiques Anti WHEN OTHERS, je pense à vous.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par McM Voir le message
    ...Ps : Les Fanatiques Anti WHEN OTHERS, je pense à vous.
    Merci pour la pensée, même si je ne me classe pas dans les fanatiques, mais pour le coup, ça donne envie de faire intervenir le père fouettard en avance !
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Il serait plus sage d'exécuter le code du trigger dans une nouvelle transaction :
    https://docs.oracle.com/cd/B19306_01...s.htm#BABDHGAB

  5. #5
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par mlaunay Voir le message
    Bonjour,

    J'ai un Trigger After Insert sur une table qui copie certaines valeurs dans une autre table et réalise quelques traitements.

    Je voudrais savoir s'il est possible d'effectuer l'Insert même si une erreur survient dans le trigger (à la limite que les actions effectuées par le trigger ne soient pas réalisées mais que les insertions dans la table d'origine le soient).

    Merci.
    Drop trigger <trigger_name>.

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Drop trigger <trigger_name>.
    Haha, du Mnitu dans toute sa splendeur
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    En effet, Mnitu a des méthodes très radicales au moins.

    Mais le souci est que l'importation de donnée n'est pas faite par moi et du coup je ne connais pas l'erreur sur le trigger (je sais juste que cela bloque l'insertion).
    Et quand je lance les requêtes contenues dans le trigger dans un bloc PL/SQL cela fonctionne.

    En tout cas merci pour vos réponses.

  8. #8
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par mlaunay Voir le message
    En effet, Mnitu a des méthodes très radicales au moins.
    ....
    Vu que vous pouvez vous en passer tranquillement de traitement effectuer par le trigger
    ...à la limite que les actions effectuées par le trigger ne soient pas réalisées mais que les insertions dans la table d'origine le soient ...
    cela aura en plus comme effet d'optimiser par dessous la table l'opération d'insert.
    Bref, si vous trouver ma proposition trop radicale vous pouvez vous contenter de juste désactiver le trigger. Mais, c'est bien cela que vous avez demandé!

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Oui je peux m'en passer pour l'instant mais le souhait était plutôt de ne pas empêcher l'importation pour les autres personnes afin de ne pas les bloquer et de pouvoir gérer le problème de mon côté.

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

Discussions similaires

  1. [PDO] transaction validée malgrès une erreur
    Par Alexdezark dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/09/2010, 10h09
  2. Continuer un job malgré une erreur
    Par jeanphi45 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 17/06/2010, 15h04
  3. MERGE - Pousuivre malgré une erreure
    Par ArCal dans le forum SQL
    Réponses: 3
    Dernier message: 17/01/2008, 18h12
  4. Réponses: 5
    Dernier message: 11/09/2007, 13h42
  5. Réponses: 6
    Dernier message: 16/07/2007, 17h11

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