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 :

Récupération requête qui a déclenché le trigger


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut Récupération requête qui a déclenché le trigger
    Bonjour à tous,

    Je cherche à créer un trigger qui permet d'empêcher la suppression ou la modification d'une ligne dans une table et qui, lorsqu'il se déclenche, aille écrire la requête qui a déclenché le trigger dans un fichier texte...

    J'ai recherché dans de nombreux forums et je n'ai pas trouvé ma réponse. Est-ce que c'est possible ou non ? Si oui, comment ?

    Je vous joint le code de mon trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    create or replace trigger TRIG_TEST before delete or update on TTEST
    declare
      file_handle UTL_FILE.FILE_TYPE;
    begin
      file_handle := UTL_FILE.FOPEN('LOG_DIR','fichier.log','w');
      UTL_FILE.PUT_LINE(file_handle,'Tentative de mise a jour ou de suppression sur la table TTEST');
      UTL_FILE.FFLUSH(file_handle); 
      UTL_FILE.FCLOSE(file_handle);
      raise_application_error(-20000,'Vous ne pouvez pas supprimer ou modifier une ligne');
    end;
    Ce code fonctionne mais je cherche à mettre la requete qui déclenche ce trigger à la place de la phrase "Tentative de mise a jour ou de suppression sur la table TTEST".

    Je suis sous oracle 10gR2

    Merci d'avance de votre aide !

  2. #2
    Expert confirmé 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
    Par défaut
    Regarde si l'Audit ne te convient pas.

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    Merci pour ta réponse...

    Ca a l'air d'être ce qu'il me faut mais je ne vois pas comment l'utiliser.
    Tu sais ou je peux trouver des exemples ?

  4. #4
    Expert confirmé 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
    Par défaut
    Regarde plutôt "fine grained auditing" et dans la doc d'Oracle10.

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

Discussions similaires

  1. Savoir qui a déclenché le trigger
    Par yodaime dans le forum PL/SQL
    Réponses: 10
    Dernier message: 16/06/2011, 16h25
  2. récupérer la ligne qui a déclenché un trigger
    Par Peanut dans le forum Développement
    Réponses: 2
    Dernier message: 17/05/2011, 12h01
  3. Qui déclenche un trigger?
    Par p3kk4 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 05/10/2007, 09h44
  4. Réponses: 9
    Dernier message: 16/10/2006, 13h47
  5. Réponses: 2
    Dernier message: 14/06/2006, 15h04

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