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 :

Problème de lancement d'une procédure stockée via un job.


Sujet :

PL/SQL Oracle

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Points : 130
    Points
    130
    Par défaut Problème de lancement d'une procédure stockée via un job.
    Bonjour tout le monde, je désire faire un job qui déclenche un procédure systématiquement, voici le besoin bien détaillé:
    Dans une table de paramètrage (Num,Libellé,Date,NbJours,Actif,Chaine1),on stocke la date de la derniere déclenchement reussie (dernier lancement de la procédure).
    Ensuite on calcule la date de la prochaine suppression en faisant <<date de la dernière purge>> + <<Nb jours d'intervalle souhaité>> = Date
    calculé (date de déclenchement).Le batch qui vérifie la date du dernier lancement sera sous $U.Si la date calculée est < à date du jour
    on fait rien.Si elle >= on lance le traitement (lancer la procédure stocké).

    Merci de m'indiquer comment faire et si possible de me donner un exemple de code.

  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
    Citation Envoyé par amine1980 Voir le message
    Ensuite on calcule la date de la prochaine suppression en faisant <<date de la dernière purge>> + <<Nb jours d'intervalle souhaité>> = Date
    calculé (date de déclenchement).Le batch qui vérifie la date du dernier lancement sera sous $U.Si la date calculée est < à date du jour
    on fait rien.Si elle >= on lance le traitement (lancer la procédure stocké).
    Toute cette partie est gérée nativement par le job.
    Il suffit que tu crées un job en lui indiquant comme délai <<Nb jours d'intervalle souhaité>>
    Cela doit donner quelque chose comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DECLARE
     jobno number;
    BEGIN 
      dbms_job.submit  (jobno,
                         'maproc'
                         sysdate,
                         'TRUNC(SYSDATE) + ' || to_char(nb_jours_interv));
      commit;
    END;
    Pour plus d'infos sur les job :
    http://oracle.developpez.com/guide/d...ages/dbms_job/
    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 habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Points : 130
    Points
    130
    Par défaut
    Je suis tout à fait d'accord avec toi, mais je vois pas comment indiquer au job qu 'il va lire la valeur de nb_jours_interv de ma table concernée, par exemple j'ai uen table T1 qui une colonne de même nom, comment je vais y distinguer et l'oblgier de lire la valeur de ma table que je veux?.

  4. #4
    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
    A la création de ton job. Dans le bout de code que je t'ai indiqué, il manque la lecture de la table et le stockage dans la variable nb_jours_interv de la valeur de ta colonne <<Nb jours d'intervalle souhaité>>.
    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.

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/12/2006, 12h58
  2. Réponses: 1
    Dernier message: 20/07/2006, 17h03
  3. Réponses: 4
    Dernier message: 16/12/2005, 16h25
  4. Réponses: 4
    Dernier message: 25/10/2005, 10h36
  5. Problème Alter view dans une procédure stockée
    Par adjava dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/07/2005, 17h45

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