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 :

[8i] Trigger before ou after delete


Sujet :

Oracle

  1. #1
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut [8i] Trigger before ou after delete
    Bonjour,

    Je suis plutôt débutant dans ce domaine. J'aimerai écrire un trigger qui sauvegarde les enregistrements supprimés de la table X dans une table DEL_X.

    Cela doit être classique pour les développeurs...

    Quelqu'un a un modèle ?

    Merci

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Voici une doc sur les triggers :
    http://sheikyerbouti.developpez.com/...age=Chap6#L6.1

    Je pense qu'en adaptant le premier exemple, tu devrais t'en sortir

  3. #3
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    Y'a un moyen pour éviter la liste des champs :old.champ1, :old.cahmp2...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE OR REPLACE TRIGGER trg_bdr_table
       BEFORE DELETE                                           -- avant supression
       ON table
       FOR EACH ROW                                           -- pour chaque ligne
    BEGIN
       INSERT INTO DEL_table
            VALUES (:OLD.champ1, :OLD.champ2, :OLD.champ3, :OLD.champ4....);
    END;

  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
    Non, tu peux remplacer le OLDet le NEW par ce que tu veux (avec REFERENCING), mais c'est obligatoire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE OR REPLACE TRIGGER trg_bdr_table 
       BEFORE DELETE                                           -- avant supression 
       ON table
    REFERENCING OLD as vieux
       FOR EACH ROW                                           -- pour chaque ligne 
    BEGIN 
       INSERT INTO DEL_table 
            VALUES (:vieux.champ1, :vieux.champ2, :vieux.champ3, :vieux.champ4....); 
    END;

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

Discussions similaires

  1. Conception TRIGGER before OU after insert
    Par cyril dans le forum PL/SQL
    Réponses: 2
    Dernier message: 07/12/2011, 10h42
  2. TRIGGER:Probleme sur After delete
    Par samsso2006 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 17/02/2010, 14h42
  3. [Trigger/table mutante] before ou after INSERT?
    Par rvfranck dans le forum PL/SQL
    Réponses: 0
    Dernier message: 16/10/2008, 19h05
  4. Erreurs sur un trigger BEFORE DELETE
    Par Daikyo dans le forum PL/SQL
    Réponses: 1
    Dernier message: 13/06/2008, 02h13
  5. Trigger after delete
    Par festayre47 dans le forum PL/SQL
    Réponses: 8
    Dernier message: 27/12/2007, 12h02

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