Créer sa propre fonction d'agrégat
Bonjour,
J'aurais besoin de créer ma propre fonction d'agrégat. Cela fait plus d'une heure que je tente de digéré la documentation ... mais il y a encore quelque chose que je ne comprend pas. Voilà la procédure à suivre pour créer sa fonction d'agrégat :
Code:
1 2 3 4
| CREATE AGGREGATE nom ( type_donnée_entrée [ , ... ] ) (
SFUNC = sfonc,
STYPE = type_donnée_état
) |
Ok, ça ce n'est pas un problème ... du moment que la fonction est faite. Voici donc un exemple de création de fonction :
Code:
1 2 3 4 5
| CREATE FUNCTION add(integer, integer) RETURNS integer
AS 'select $1 + $2;'
LANGUAGE SQL
IMMUTABLE
RETURNS NULL ON NULL INPUT; |
Ok, jusque là je suis ... mais cette fonction ne s'applique que sur une ligne ... je sais que je ne suis pas clair, mais ce que je veux dire c'est que les fonctions d'agrégat s'exerce sur plusieurs "lignes", et que cette exemple de fonction ne s'exerce que sur deux paramètres ...
Voilà, j'espère que vous avez compris mon problème ... pour info, je souhaiterait faire une fonction ressemblant fort à MIN mais pouvant s'appliquer sur un BOOLEAN, en considérant que l'ordre croissant est : NULL, FALSE, TRUE ...
Merci d'avance.