Bonjour
je cherche à faire une fonction PLSQL avec 3 parametres d'entree
pcode,ddeb et dfin
et 1 de sortie cumul
ma tablestatus
mes champs code,datestat,stat
ma tablecodes
mes champs code,libellé,type,categorie etc...
pour un code donné pour une periode de reference donnée (entre ddeb et dfin)
je veux la somme des durées d'arret
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select code,f(code,:ddeb,:dfin) durée_arret from tablecodes
pour tous les codes de la tablecodes F(x) doit balayer la tablestatus et me ramener le cumul d'arret pour chaque code de la tablecodes pendant la periode definie dans les parametres 2 et 3 de la fonction
exemple pour un code donné
datestat,stat
"01/01/2009 10:00", "arret"
"01/01/2009 11:00" ,"marche"
"01/01/2009 11:30","arret"
"01/01/2009 12:30' ,marche"
"01/01/2009 14:00","arret"
"01/01/2009 15:30' ,marche"
pour une periode comprise entre ddeb= 01/01/2009 10:00 et dfin= 01/01/2009 14:00
f(code,:ddeb,:dfin)=120mn
si dfin = 01/01/2009 15;00 alors
f(code,:ddeb,:dfin) = 180mn
comment ecrire cette fonction PLSQL f(x) ?
Partager