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 25/05/2011, 11h17   #1
Invité de passage
 
salah silo
Inscription : février 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : salah silo

Informations forums :
Inscription : février 2011
Messages : 34
Points : 4
Points : 4
Par défaut trigger wait et attendre

salut,
j'ai implémenté un trigger sous oracle de type 'AFTER', mais je veux que le trigger ne déclenche directement après l'insertion c'est à dire je veux retarder le déclenchement de l'action après l'insertion (par exemple un retard de 15 minute), mais l'enregistrement doit être insérer dans la base pendant retard
merci.
silouh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 11h30   #2
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 808
Points : 5 808
Utilisez Dbms_Job/Scheduler dans le trigger pour programmer l'exécution de la partie qui doit être retardées.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 15h20   #3
Invité de passage
 
salah silo
Inscription : février 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : salah silo

Informations forums :
Inscription : février 2011
Messages : 34
Points : 4
Points : 4
Citation:
Envoyé par mnitu Voir le message
Utilisez Dbms_Job/Scheduler dans le trigger pour programmer l'exécution de la partie qui doit être retardées.
mais vous pouvez illustrer un petit peu par un exemple
silouh est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 25/05/2011, 16h23   #4
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 808
Points : 5 808
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
Connected TO Oracle DATABASE 10g Enterprise Edition Release 10.2.0.4.0 
Connected AS mni
 
SQL> 
SQL> SET serveroutput ON
SQL> CREATE TABLE t_retard (
  2    id       integer PRIMARY KEY,
  3    some_col varchar2(10)
  4  )
  5  /
 
TABLE created
SQL> CREATE OR REPLACE Procedure Do_Nothing
  2  IS
  3  Begin
  4    NULL;
  5  End;
  6  /
 
Procedure created
SQL> CREATE OR REPLACE TRIGGER ai_t_retard
  2  After INSERT ON t_retard
  3  FOR Each Row
  4  Declare
  5    l_job_id   binary_integer;
  6  Begin
  7    dbms_job.submit(
  8      job  => l_job_id,
  9      what => 'Do_Nothing;',
 10      next_date => sysdate + TO_DSINTERVAL('0 00:01:00')
 11    );
 12    --
 13    Dbms_Output.put_line('Job_id ='||To_Char(l_job_id));
 14  End;
 15  /
 
TRIGGER created
SQL> INSERT INTO t_retard
  2  VALUES (1, 'A TEST')
  3  /
 
Job_id =3
 
1 row inserted
SQL> Commit
  2  /
 
Commit complete
 
SQL>
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h26.


 
 
 
 
Partenaires

Hébergement Web