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 :

Oracle et plages de dates


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut Oracle et plages de dates
    bonjour,

    voila mon probleme:
    j'ai une table sous oracle 9i

    table plafonds
    date_debut date
    date_fin date
    matricule number(5)

    A l'insertion et à l'update je dois controller qu'il n'y a pas de periodes
    de dates chevauchantes pour un meme matricule:

    ex: on ne veux pas
    date_debut date_fin matricule
    01/01/2008 01/12/2008 33155
    01/01/2007 01/02/2008 33155

    mais
    date_debut date_fin matricule
    01/01/2008 01/12/2008 33155
    01/01/2007 01/02/2007 33155
    est correct.

    le probleme c'est que sur les triggers de niveau row il y a le mutating

    et si je passe par une table temporaire je n'ai pas acces au login de l'utilisateur
    (login au niveau du portail 9ias) dans les triggers de niveau table (alors que j'ai
    cette info dans les forms)
    ce login est indispensable s'il y a plusieurs utilisateurs sur la base simultanement
    (pour ne pas melanger les données dans la table temporaire)

    dans les triggers de niveau statement on n'a pas acces aux variables de la table

    L'idee la plus proche de la solution serait de faire un controle global sur la table,
    en la parcourant,sur l'événement KEY-COMMIT du formulaire (ihm) mais malheureusement
    un trigger générique provenant de designer fait un commit systematique avant que je puisse
    ajouter mon code de controle(de plus il me faut connaitre le matricule concerné pour ne pas parcourir tte la table)

    et cerise sur le gateau ce qui vient ajouter à la difficulté c'est que les utilisateurs
    peuvent modifier ou inserer plusieurs lignes à la fois (si quelqu'un peut m'expliquer comment
    on peut bloquer la saisie à une seule modif à la fois je suis preneur!!!)

    est ce que quelqu'un aurait une stratégie pour, apres tout, ne controller qu'une plage de dates
    (on doit bien pouvoir faire cela sous oracle???non???)

    @+ ROSAGIO

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Vous pouvez vous inspirer de la technique suivante détaillée sur AskTom qui décrit un exemple assez proche: il faut penser à verrouiller avec SELECT ... FOR UPDATE les bonnes données pour empêcher toute modification en parallèle.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut
    merci Pifor pour ta reponse aussi rapide
    mais le serveur AKSTOM est indisponible pour l'instant
    @+

Discussions similaires

  1. Requêtes Oracle et calcul de date
    Par bobic dans le forum Oracle
    Réponses: 7
    Dernier message: 20/04/2006, 13h58
  2. [SQL Server 8] Trouver une plage de date
    Par Baquardie dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/04/2006, 19h30
  3. [CR]Aide sur les fonction de date et plage de date.
    Par Job dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 08/11/2005, 09h19
  4. [date] Recherche dans une plage de dates
    Par astro84 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/06/2005, 17h13
  5. Sélection d'une plage de dates
    Par Bouanda dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/10/2004, 20h27

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