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 :

[Oracle 9i] Trigger base de données


Sujet :

Oracle

  1. #1
    Inscrit
    Inscrit en
    Avril 2004
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 193
    Points : 94
    Points
    94
    Par défaut [Oracle 9i] Trigger base de données
    bonjour

    je souhaite mettre en place une procédure base de données qui se declenchera chaque jour à 23h par exemple. j'ai deja ecrit le traitement qu'elle doit effectuer mais mon probleme c'est comment lui dire declenche toi toute seule a telle heure.

    merci de votre aide

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Utilises les jobs (DBMS_JOBS)
    vue dba_jobs


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DBMS_JOB.SUBMIT(job OUT BINARY_INTEGER,			what IN VARCHAR2,
                    next_date IN DATE,				interval IN VARCHAR2,
                    no_parse IN BOOLEAN)
    Parameters Description
    Job When a job is created a job number is assigned to it. This job number is unique.You must use the job number whenever you alter or remove the job.As long as the job exists, the number will remain the same
    What The PL/SQL code you wish to execute. It is usually a call to a stored procedure, which can have any number of parameters.Use two single quotes around strings and a semicolon at the end of the job definition.
    Next_date The date when the job will execute. Default is SYSDATE.
    Interval A function that calculates the next time the job is to execute. Default is NULL.
    No_parse If TRUE, Oracle parses the code the first time the job is executed.If FALSE, the job is parsed when submitted. Default is FALSE.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    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
    pour plus d'infos, il y a le tuto de Jaouad :
    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.

  4. #4
    Inscrit
    Inscrit en
    Avril 2004
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 193
    Points : 94
    Points
    94
    Par défaut
    merci pour vos réponses !

    maintenant je souhaite avoir quelques eclairements !

    par exemple nous sommes le 21 décembre 2005 si je veux que la premiere exécution de la procédure se fasse le 1er janvier 2006 à 23h00, je met sysdate +23/264
    maintenant si je veux qu'elle se declenche tous les 1er janvier qui suivent que est ce que je dois mettre
    est ce que je dois rajouter un autre elément pour lui dire que la nouvelle date de réference sera le 1er janvier 2006 pour avoir genre sysdate

  5. #5
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    C'est juste de la fonction de date à faire:
    Pour le départ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TO_DATE('01.01.' || TO_CHAR(ADD_MONTHS(SYSDATE,1), 'YYYY') || '23:00', 'DD.MM.YYYY HH24:MI')
    FROM dual
    Pour la réplication
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TO_DATE('01.01.' || TO_CHAR(ADD_MONTHS(SYSDATE,12), 'YYYY') || '23:00', 'DD.MM.YYYY HH24:MI')
    FROM dual
    Ca donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DBMS_JOB.SUBMIT(v_job,        
    'MA_PROCEDURE;', 
    TO_DATE('01.01.' || TO_CHAR(ADD_MONTHS(SYSDATE,1), 'YYYY') || '23:00', 'DD.MM.YYYY HH24:MI'),
    'TO_DATE(''01.01.'' || TO_CHAR(ADD_MONTHS(SYSDATE,12), ''YYYY'') || ''23:00'', ''DD.MM.YYYY HH24:MI'')'
    );
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  6. #6
    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
    ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      dbms_job.submit (v_job, 'PROC;', 
                       trunc (sysdate, 'RR') + 365 + 23/24,
                       'trunc (sysdate, ''RR'') + 365 + 23/24');
    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.

  7. #7
    Inscrit
    Inscrit en
    Avril 2004
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 193
    Points : 94
    Points
    94
    Par défaut
    merci

  8. #8
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Plus simple ta fonction PlaineR.
    J'ai pas été super sur ce coup..
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

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

Discussions similaires

  1. Oracle : Accès au base de donné
    Par inouss dans le forum Oracle
    Réponses: 2
    Dernier message: 25/08/2009, 18h16
  2. oracle : lien de base de données
    Par RSI06 dans le forum Administration
    Réponses: 2
    Dernier message: 28/06/2007, 13h54
  3. Réponses: 17
    Dernier message: 28/10/2005, 11h59

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