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 :

Trigger: Utilisation de WHEN avec INSERTING/UPDATING/DELETING


Sujet :

PL/SQL Oracle

  1. #1
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Par défaut Trigger: Utilisation de WHEN avec INSERTING/UPDATING/DELETING
    Bonjour,

    J'ai besoin d'écrire un trigger (un seul serait mieux!), mais j'ai du mal de mettre en place les conditions de déclenchement:
    En gros, je voudrais que lors des insert/update, il y ai des conditions de déclenchement mais pas de condition lors du delete.

    Est ce que c'est possible,
    Dans l'idée ça serait un peu ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    create or replace TRIGGER MonTrigger
      BEFORE INSERT OR DELETE OR UPDATE
      ON maTable
      FOR EACH ROW
      WHEN ((maCondition) or (DELETING))
    BEGIN
      ...
    END;
    Si quelqu'un a une idée,
    Merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Tu peux nous dire précisément quelle est cette condition?

    De façon très sommaire, est-ce que ceci est ce que tu veux?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    create or replace TRIGGER MonTrigger
         BEFORE INSERT OR DELETE OR UPDATE ON maTable FOR EACH ROW
    
         BEGIN
    
         IF INSERTING OR UPDATING THEN 
              IF maCondition THEN
                   .....
              END IF;
         END IF;
    
         IF DELETING THEN
              .....
         END IF;
    
    END;

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Par défaut
    Bonjour,

    Merci pour ton retour.

    Effectivement, ce que tu proposes peut tout à fait fonctionner, mais je m'étais dit qu'il était peut être possible de mettre tout ça directement dans la clause WHEN du trigger, pour ne pas qu'il ne se "déclenche" dans les autres cas.
    Cela me paraissait plus "propre", peut être même plus optimisé, mais là je m'avance...

    Merci.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Par défaut
    Je crois que je vais faire avec un IF/ELSE.
    Merci.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/01/2011, 14h53
  2. requéte insert /update/delete par dataAdapter
    Par magui_laurene dans le forum Accès aux données
    Réponses: 1
    Dernier message: 02/08/2007, 14h12
  3. TRIGGER avec inserted + UPDATE sur INSERTED
    Par shaka84 dans le forum Développement
    Réponses: 3
    Dernier message: 12/04/2006, 10h26
  4. Réponses: 4
    Dernier message: 05/04/2005, 18h28
  5. Redirect de la page après un insert/update/delete
    Par mchicoix dans le forum XMLRAD
    Réponses: 5
    Dernier message: 25/02/2005, 09h31

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