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

Oracle Discussion :

Récupérer une requête SQL dans un trigger


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 36
    Points : 26
    Points
    26
    Par défaut Récupérer une requête SQL dans un trigger
    Bonjour,

    Dans un trigger, lors de la mise à jour d'une table, j'aimerais pouvoir récupérer le texte de la requête qui a mis à jour ma table (Insert, Update ou delete).

    Y a t'il quelque chose pour ça ???

    Merci par avance !

  2. #2
    Provisoirement toléré
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 114
    Points : 86
    Points
    86
    Par défaut
    cad tu veux recuperer la requete elle meme?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 36
    Points : 26
    Points
    26
    Par défaut
    Oui, je voudrais récupérer l'ordre SQL parsé et soumis à la base.
    Exemple, si j'ai inséré une valeur 'a' dans mon champ CL dans la table TBL, je voudrais récupérer le texte 'INSERT INTO tbl (cl) VALUES ('a')' qui a généré l'insert dans un trigger before ou after.

    L'objectif final est de stocker ces ordres et de permettre une diffusion sur des bases de données complétement distinctes.....

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Si tu es en 10g, utilise Streams qui est l'outil de réplication d'Oracle

    Sinon, plutôt que récupérer les DML via un trigger, tu devrais utiliser logminer (ce que fait Streams en réalité )

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 36
    Points : 26
    Points
    26
    Par défaut
    Merci pour ta réponse.

    Je suis sous ORACLE 8.
    Par contre, ce besoin ne concerne qu'un nombre très limité de tables (de surcroit, le logmining n'est pas activé sur la base).
    Je pense que je vais avoir du mal à justifier qu'il faille logguer toute activité sur plusieurs centaines de tables (puisqu'il faudrait vraissemblablement activer le supplemental logging), alors que j'ai ce besoin sur uniquement une quinzaine de tables. La performance risque d'être largement dégradée (la volumétrie et le nombre d'utilisateurs sont très importants).

    Peut-on faire plus ou moins la même chose sans utiliser le logminer (je pensais aux triggers parceque cela me permet de cibler précisément les tables dont j'ai besoin et que de toutes les façons, j'ai déjà un trigger sur ces tables pour faire un certain nombre d'autres opérations) ???

    Merci par avance !

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Dans ce cas pourquoi tu ne fais pas de snapshot ou simplement une vue en utilisant un db link ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 36
    Points : 26
    Points
    26
    Par défaut
    C'est à dire ?
    "Comparer" mes tables entre les bases de données, c'est l'idée ?

Discussions similaires

  1. [AC-2010] Comment intégrer une requête SQL dans un Trigger
    Par plaulie dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/02/2015, 13h56
  2. Récupérer les valeurs d'une requête SQL dans un champs html SELECT
    Par tamiii dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/11/2007, 13h27
  3. [SQL-VBA] récupérer le résultat d'une requète SQL dans un fichier txt
    Par djidanestribbal dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 13/02/2007, 15h25
  4. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  5. récupérer le résultat d'une requête sql dans un edit
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2005, 14h07

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