Trigger testant un intervalle de temps
Bonjour à tous,
Je me permets de poster ici car je débute en pl/sql et je sèche sur la conception d'un trigger avec l'utilisation d'un intervalle day to second.
Je possède deux timestamp correspondant a une date et heure de debut de représentation et de fin de représentation (d'un groupe dans une rencontre) que j'aimerai comparer et afficher un message d'erreur si la durée minimum de passage est inférieure a 300 secondes.
Dois je transformer ces deux valeurs en numérique auparavant?
J'ai un code qui est plus qu'expérimental, je me doute ;)
J'aimerai qu'on m'explique comment m'y prendre pour utiliser cette fonction si cela est possible car cela reste completement flou pour moi meme apres des recherches.
Merci d'avance :)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
set serveroutput on
create or replace trigger diff_debut_et_fin
before insert or update on participe
for each row
declare
intervalle interval day to second
diff varchar2 (10)
begin
intervalle:= to_dsinterval(300,second);
diff:=(:new.dateethfingroupe - :new.dateethdebgroupe);
if diff < intervalle then
raise_application_error (-2000,'Erreur, la duree de passage est inferieure a 5 minutes');
end if;
end;
/ |