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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CREATE AGGREGATE nom ( type_donnée_entrée [ , ... ] ) ( SFUNC = sfonc, STYPE = type_donnée_état )
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 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE FUNCTION add(integer, integer) RETURNS integer AS 'select $1 + $2;' LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT;
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.
Partager