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 :

Mise à jour sur plusieurs lignes d'un champ date avec une même valeur en utilisant des triggers ?


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 38
    Points : 51
    Points
    51
    Par défaut Mise à jour sur plusieurs lignes d'un champ date avec une même valeur en utilisant des triggers ?
    Bonjour,

    J'ai une application qui envoie un ensemble d'opérations à réaliser sur une base de données (mise à jour/insertion de lignes ou suppression). Dans toutes les tables, il y a également un champ date qui permet de conserver la date de la dernière mise à jour des données.
    Je voudrais qu'au moment du commit, tous ces champs date aient la même valeur entre toutes les tables.

    J'ai créé des triggers sur chacune des tables mais rien ne me garantit que la valeur date soit la même pour toutes les lignes mises à jour. Avant de me lancer à coder du côté applicatif, je voulais quand même savoir s'il n'était pas possible de faire ça avec des triggers ?

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    un trigger est propre à une table, pas à un ensemble de tables mises à jour dans la même transaction

    je vois la solution suivante

    1) ton appli appelle une procédure stockée
    2) cette procédure
    2.1) capture la date dans une variable locale
    2.2) réalise les mises à jours des tables en utilisant la variable 2.1
    2.3) commit (ou rollback) de l'ensemble de la transaction

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 38
    Points : 51
    Points
    51
    Par défaut
    Merci Marc pour ta réponse.

    Ta solution est ce que j'avais envisagé. En fait ce qu'il me faudrait c'est des trigger sur les transactions et non sur les tables.

    Ainsi lors du commit, le trigger se lance et je met tout à jour avec la même valeur. Ca serait une sorte de trigger global pouvant travailler sur plusieurs tables. Ahhhh c'est beau de rêver !!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/07/2013, 13h39
  2. Populate plusieurs champs avec une même valeur
    Par dedis dans le forum Zend_Form
    Réponses: 5
    Dernier message: 26/03/2011, 16h59
  3. [MySQL] Mise à jours de plusieurs lignes avec mysql
    Par hakou08 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/04/2009, 20h10
  4. Mise à jour sur plusieurs critères
    Par Commandeur dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 30/11/2008, 09h32
  5. Mise à jour de plusieurs ligne dans un UPDATE
    Par sofien dans le forum SQL
    Réponses: 14
    Dernier message: 11/07/2008, 08h26

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