Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/10/2011, 00h15   #1
Nouveau Membre du Club
 
Inscription : mai 2002
Messages : 146
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 146
Points : 33
Points : 33
Par défaut Problème d'ordonnanceur

bonjour je cherche a cedule une job a chaque heure de 45 min genre
1h45
2h45
3h45 .. etc
voici ou j en suis
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
DECLARE
  X NUMBER;
BEGIN
  SYS.DBMS_JOB.SUBMIT
  ( job       => X 
   ,what      => 'ARCHIVE_JOB;'
   ,next_date => to_date('20-10-2011 18:45:00','dd/mm/yyyy hh24:mi:ss')
   ,interval  => 'trunc(sysdate)+45/86400'
   ,no_parse  => FALSE
  );
  SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;
/
il est presentement 18:h40 donc je voudrais qu elle parte a 18h45
mais j ai comme message
Citation:
ORA-23420: l'intervalle doit évaluer un délai du futur
ORA-06512: à "SYS.DBMS_JOB", ligne 60
ORA-06512: à "SYS.DBMS_JOB", ligne 138
ORA-06512: à ligne 4
et si j'ajoute un
Code :
,interval  => 'trunc(sysdate+1)+45/86400'
ca va le partir mais le resultat ca va pas du tout.

est ce qu il y aune personne qui a une solution merci d avance
chady est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 10h26   #2
Membre confirmé
 
Homme Grégoire MARTIN
Ingénieur développement logiciels
Inscription : janvier 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme Grégoire MARTIN
Âge : 32
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : janvier 2011
Messages : 128
Points : 225
Points : 225
Code :
ORA-23420: l'intervalle doit évaluer un délai du futur
je pense que c'est assez explicite :

Code :
trunc(sysdate)+45/86400 < to_date('20-10-2011 18:45:00','dd/mm/yyyy hh24:mi:ss')
de plus veux tu vraiement que ton job s'éxécute toutes les 45 secondes ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
SQL> SELECT * FROM v$VERSION;
 
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
PL/SQL Release 9.2.0.7.0 - Production
CORE	9.2.0.7.0	Production
TNS FOR IBM/AIX RISC System/6000: Version 9.2.0.7.0 - Production
NLSRTL Version 9.2.0.7.0 - Production
 
SQL> SELECT to_date('21/10/2011 18:45:00', 'dd/mm/yyyy hh24:mi:ss'),
  2         TRUNC(sysdate) + 45/86400,
  3         sysdate + 1 / 24,
  4         sysdate + (45 * 60) / 86400
  5    FROM dual;
 
TO_DATE('21/10/201118:45:00',' Minuit + 45 secondes Dans 1 heure        Dans 45 minutes
------------------------------ -------------------- ------------------- ------------------
21/10/2011 18:45:00	       21/10/2011 00:00:45  21/10/2011 11:21:49  21/10/2011 11:06:49
__________________
Cordialement.
ORA-007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 10h41   #3
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 440
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 440
Points : 4 183
Points : 4 183
S'il faut lancer à XXh45,

Code :
1
2
3
4
5
SELECT SYSDATE, TRUNC(SYSDATE, 'HH') + 1/24 + 45 / 24 /60 prochain
FROM dual
 
SYSDATE		PROCHAIN
21/10/2011 10:40:49	21/10/2011 11:45:00
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h29.


 
 
 
 
Partenaires

Hébergement Web