Bonjour,
je veux créer une fonction stockée qui renvoie un ensemble d'enregistrement,
et pouvoir l'utiliser de manière simple du genre SELECT *, sans avoir à préciser les champs attendus.
Je crée une fonction sous ce modèle:
Allégée pour l'exemple, je dois renvoyer au final une multitude de champs et quelques jointures...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE OR REPLACE FUNCTION fn_get_id_from_serial(IN serial_id "varchar") RETURNS SETOF record AS $BODY$ SELECT id FROM table_prod WHERE $1 >= serial_id_low AND $1 <= serial_id_high $BODY$ LANGUAGE 'sql' VOLATILE;
Mon but étant de réutiliser plus tard cette fonction sour la forme
Aujourd'hui je dois explicitement déclarer les paramètres reçus:
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM fn_get_id_from_serial('001122334455');
Je n'arrive pas à mettre la main sur une syntaxe claire pour déclarer les paramètres dans la fonction et non dans la requête l'utilisant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM fn_get_id_from_serial('$001122334455') AS (id INT4)
Merci pour toute aide,
Vincent.
Partager