Bonjour,

je souhaite tester dbms_jobs d'Oracle. Pour cela je créée une table kikoulol, une fonction kiki. Je veux appeler ma procèdure toutes secondes pour qu'elle incrémente un champ de la table kikoulol. Malheuresement ca ne marche pas.

La table kikoulol :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
CREATE TABLE kikoulol(
  id NUMBER(10),
  val NUMBER(10)
);
 
Table créée.
 
INSERT INTO kikoulol VALUES (1, 0);
 
1 ligne créée.
Ma procédure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
CREATE PROCEDURE kiki IS
BEGIN
  UPDATE kikoulol SET val = val + 1 where id = 1;
END;
 
Procédure créée.
Et enfin la création de mon job [je pense merder au niveau de l'interval, je n'ai pas trop compris comment faire]:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
BEGIN
  dbms_job.isubmit('11', 'kiki();',sysdate, 'SYSDATE + 1/86400');
END;
 
Procédure PL/SQL terminée avec succès.
 
select job , what from  user_jobs;
 
       JOB
----------
WHAT
 
        11
kiki();
 
show parameter job_queue_processes ;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- 
job_queue_processes            integer     5