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 :

DBMS_job qui s'exécute une fois par an


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de nadsky
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 118
    Par défaut DBMS_job qui s'exécute une fois par an
    Bonsoir à tous,

    Je vous écris car j'ai un gros problème pour mettre un champ booléen de true à false d'une table une fois par an.

    J'avais réussi à le faire mensuellement pour une autre table (tous les 1ers du mois à minuit), en passant par les DBMS_jobs.
    Ici, mon but est de mettre ce champ de true à false tous les 31 décembre à 23h 59 (ou le 1er janvier à minuit de l'année suivante).

    Dans un premier temps, j'ai tenté de passer par les DBMS_jobs
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DECLARE
    	my_job_ann number;
    begin
      sys.dbms_job.submit(job => :job,
                          what => 'Charge_ann_false;',
                          next_date => trunc(sysdate)+23/24,
                          interval => 'TRUNC(LAST_DAY(SYSDATE) + 1)');
      commit;
    end;
    et voyant que j'avais un problème au niveau de la syntaxe, j'ai tenté de passer par DBMS_SCHEDULER et faire un create job, mais j'ai une erreur m'indiquant que je n'avais pas les privilèges suffisants (alors que je suis admin...)

    Pourriez-vous m'éclairer un peu ou me donner des pistes?

    Je vous remercie d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2006
    Messages : 139

  3. #3
    McM
    McM est déconnecté
    Expert confirmé

    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
    Billets dans le blog
    4
    Par défaut
    Le :job correspond à un retour de la procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DECLARE
    	my_job_ann number;
    begin
      sys.dbms_job.submit(job => my_job_ann,
                          what => 'Charge_ann_false;',
                          next_date => trunc(sysdate)+23/24,
                          interval => 'TRUNC(LAST_DAY(SYSDATE) + 1)');
      commit;
    end;
    Last_day, c'est le dernier jour du mois, si tu veux le passer tout le temps le 1er janvier à 0h (plus simple à planifier que le 31/12 à 23h59) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    interval => 'TRUNC(ADD_MONTHS(SYSDATE,12))'

  4. #4
    Membre confirmé Avatar de nadsky
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 118
    Par défaut
    Merci, ça marche

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

Discussions similaires

  1. Procédure qui ne se lance qu'une fois par jour
    Par riri2938 dans le forum VBA Access
    Réponses: 6
    Dernier message: 28/02/2009, 15h16
  2. code qui s excute une fois
    Par sisna dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 20/08/2008, 11h35
  3. Réponses: 9
    Dernier message: 24/06/2008, 10h31
  4. Réponses: 8
    Dernier message: 16/03/2007, 16h43
  5. Exécuter un script, une fois par jour
    Par Poussy-Puce dans le forum ASP
    Réponses: 1
    Dernier message: 19/10/2006, 16h55

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