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
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  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;
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

+ 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