Bonjour, voici mon problème :

J'aimerais créer une PROCEDURE ou FONCTION, qui créerais un TRIGGER, lui même créant une temporisation pour un INSERT INTO.

Le problème réside dans le fait que l'une des données insérée est un SYSDATE (format DD/MM/YYYY HH24:MI:SS)

J'aimerais que chaque données enregistrée ai son SYSDATE comme donnée unique (pas avoir 2 INSERT INTO avec la même date). Pour cela j'ai déjà créé un code que voici :

Code SQL : 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
21
22
23
 
CREATE TRIGGER trigger_test
AFTER INSERT ON TMP
FOR EACH ROW
BEGIN
DBMS_LOCK.SLEEP(2);
END;
 
INSERT INTO TMP
SELECT 
	    cd_esp
	   , NULL AS cd_pop
	   ,cd_releve
	   ,cd_nom
	   ,nom_cite
	   ,SYSDATE
	   ,'D2' AS code_valid
	   , 0 AS donnees_maj	   
FROM  I202 I
WHERE cd_ref = 124325
;
 
DROP TRIGGER trigger_test;

Mon TRIGGER me fait bien une temporisation de 2 secondes entre chaque données insérées, mais ils ont tous la même date.

Par la suite, j'aimerais en faire une procédure, pour que le TRIGGER se créé puis se supprime, j'ai testé, mais il n'aime pas les CREATE :/

Merci par avance.