Bonjour à tous,
J'ai une query qui me retourne une valeur de disponibilité par rapport à un lot de données.
En voici une version très simplifiée (pour la compréhension):
select sum(date2-date1) as Mavaleurfinale from matable.
J'aimerai en créer une fonction pour que ce même calcul soit disponible pour d'autres lots de données provenant de différentes tables.
Par exemple
select fGet_Availability(select startdate as date1, enddate as date2 from uneTable) from dual
select fGet_Availability(select dateA as date1, dateB as date2 from uneautreTable where colX = 'server1') from dual
avec une fonction (ou peut-être une procédure) dans un package qui serait quelque chose comme:
Je n'ai trouvé sur aucun forum la possibilité de faire un SELECT sur un lot de donnée en entré de fonction.
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 TYPE T_Avail_Record IS RECORD (StartDate date, EndDate date); TYPE InputRowset IS TABLE OF T_Avail_Record; FUNCTION fGet_Availability( InputRowset ) RETURN NUMERIC IS t_Mavaleurfinale numeric; BEGIN select sum(date2-date1) into Mavaleurfinale from InputRowset RETURN (t_Mavaleurfinale); END
Est-ce possible sous Oracle (version 11.2.0.3.0) ?
En espérant avoir été clair,
D'avance merci pour votre aide,
Eric.
Partager