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

SQL Oracle Discussion :

Problème sur trigger Oracle


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Problème sur trigger Oracle
    Bonjour à tous.


    Nous rencontrons un problème sur un trigger (sur ORACLE).
    Actuellement, nous travaillons sur un univers et nous souhaitons créer un trigger qui insert des logs de modification dans une table précédemment créée.

    Grosso modo, nous souhaitons qu'à chaque modification ou insertion dans une des tables de l'univers, le trigger se déclenche pour insérer les logs dans une table définie.
    Voici notre code actuel :

    Notre table de logs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE TABLE log_modif (
    nom_table varchar(40),
    date_log date);
    Notre trigger :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE OR REPLACE TRIGGER log_modif_sl123
    AFTER INSERT OR UPDATE ON table_test 
    BEGIN
    INSERT INTO log_modif(nom_table, date_log)
    VALUES (table_name, sysdate);
    END;
    /
    Nous avons essayé sur une seule table voir comment ça fonctionnait, et nous aimerions l'adapter pour toutes les tables (all_tables avec un table_name en retour pour savoir quelle table a été modifiée).
    Nous sommes actuellement bloqués à cette étape et demandons votre aide.

    Bonne journée à tous !

  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
    Tu peux créer un select qui va générer le script de chaque trigger.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT 'CREATE OR REPLACE TRIGGER log_modif_'|| table_name || CHR(10)
       || 'AFTER INSERT OR UPDATE ON '|| table_name || CHR(10)
       ||'BEGIN' || CHR(10)
       ||'INSERT INTO log_modif(nom_table, date_log) VALUES ('''|| table_name ||''', SYSDATE);' || CHR(10)
       ||'END;'|| CHR(10)
       ||'/' AS script
    from user_tables
    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
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse mais qu'est-ce que ton code est censé faire ?
    Chez nous ça ressort un select de plus de 800 lignes sans aucune création de quoi que ce soit derrière...

  4. #4
    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
    Fais un spool du select, puis exécute le fichier spoolé.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Super merci beaucoup

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

Discussions similaires

  1. [11gR2] Problème sur trigger
    Par OracleBeginner dans le forum PL/SQL
    Réponses: 1
    Dernier message: 13/05/2014, 19h55
  2. Problème sur Trigger Déclaration de variable
    Par Sekigawa dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 11/05/2008, 15h01
  3. problème de trigger oracle
    Par mouaa dans le forum Administration
    Réponses: 14
    Dernier message: 21/03/2007, 09h25
  4. PL/SQL problème sur Trigger
    Par kitsune dans le forum PL/SQL
    Réponses: 4
    Dernier message: 06/12/2005, 20h35
  5. Problème sur OEM oracle 9i
    Par seal dans le forum Entreprise Manager
    Réponses: 16
    Dernier message: 28/07/2005, 09h55

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