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 :

Question sur TRIGGER (Voire Procédure)


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut Question sur TRIGGER (Voire Procédure)
    Bonjour,
    Admettons que j'ai une Table de Fournisseurs et une de Commande (passées auprès des fournisseurs).
    Je crée une autre Table HistoriqueCommande qui contiendra les commandes supprimées (de la table commande) une fois la date de livraison atteinte.

    Voilà à présent ma question :

    Je souaiterais qu'à chaque commande supprimée elle soit archivée dans la Table HistoriqueCommande.//ça je l'ai fait avec un TRIGGER sans problème
    Par contre comment gérer automatiquement le fait qu'une date de livraison soit atteinte entraine la suppression de cette commande.
    Car avec les TRIGGER on ne peut agir qu'a la suppression,l'insertion,la mise à jour d'une table. On ne peut pas la "surveiller".
    Le mien que je puisse faire c'est une procédure, mais il faut tout de même la lancer manuellement.

    Donc voilà, si je me suis bien exprimé, savez-vous comment effectuer cette "surveillance" automatiquement?

    Merci.

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    tu ne peux pas, faut faire un job qui se déclenche tous les jours à minuit éventuellement... Sinon, on peut quand même imaginer que quand la livraison est effectivement faite, la date de livraison est mise à jour et alors tu peux déclencher un trigger.

    Par ailleurs, le fonctionnement parait bancal... ça me paraitrait plus logique et performant de mettre une période de validité sur la commande (si date de fin < aujoud'hui alors la commande est terminé) ou un status (OUVERTE, ANNULEE, CLOSE, EN COURS, etc...)

  3. #3
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Mais pour déclencher le TRIGGER il faut un DELETE,INSERT ou UPDATE.
    C'est bien là le problème, comment "surveiller" la date de livraison pour qu'une fois atteinte on SUPPRIME le tuple et donc déclencher le TRIGGER pour archiver.
    Vous voyez ce que je veux dire?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Avec un job, tu t'affranchis du trigger.

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par juve1897 Voir le message
    Mais pour déclencher le TRIGGER il faut un DELETE,INSERT ou UPDATE.
    C'est bien là le problème, comment "surveiller" la date de livraison pour qu'une fois atteinte on SUPPRIME le tuple et donc déclencher le TRIGGER pour archiver.
    Vous voyez ce que je veux dire?
    je vois très bien et je t'ai dit que tu pouvais faire un job déclenché tous les jours à minuit

    Mais ce que je vois aussi c'est qu'une livraison ça peut être en retard... donc que la date de livraison REELLE doit être renseignée quelque part... ce qui se fera avec un update et tu pourras alors déclencher un trigger.

    M'enfin, j'suis pas dans l'appli et tu fais bien comme tu veux

  6. #6
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    C'est juste, vous aviez raison je me suis trompé.
    Je vois ce que j'ai à faire à présent.
    Désolé de vous avoir dérangé pour rien.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    Citation Envoyé par juve1897 Voir le message
    C'est juste, vous aviez raison je me suis trompé.
    Je vois ce que j'ai à faire à présent.
    Désolé de vous avoir dérangé pour rien.
    Il peut être utile de sonder du côté du partitionnement de la table ...

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

Discussions similaires

  1. [11g] Question sur réutilisation de procédures stockées/pkg
    Par LEK dans le forum Administration
    Réponses: 4
    Dernier message: 01/11/2013, 03h23
  2. Réponses: 1
    Dernier message: 14/01/2008, 14h36
  3. 4 questions sur les triggers systeme
    Par ZashOne dans le forum Administration
    Réponses: 2
    Dernier message: 02/11/2007, 14h52
  4. Question sur un trigger que je dois realiser
    Par L8O8L dans le forum PL/SQL
    Réponses: 5
    Dernier message: 27/10/2007, 14h08
  5. question general sur triggers (liaison avec VB)
    Par DaxTaz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 15h57

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