SETOF nomTable.CREATE FUNCTION selectTitres(varchar) RETURNS SETOF livre AS $$
SELECT * FROM livre WHERE liv_titre like $1;
$$ LANGUAGE SQL;
SELECT * FROM selectTitres('Les %') AS t1;
+-------+---------------------------------+--------------+
|liv_num|liv_titre |liv_depotlegal|
+-------+---------------------------------+--------------+
|3 |Les Mutants |null |
|6 |Les Courants de l'Espace |null |
|8 |Les Hommes Stellaires |null |
|9 |Les Planètes meurent aussi |null |
|13 |Les Fleurs de Février |null |
|17 |Les Maîtres du Hasard |null |
|23 |Les cavernes de l'Id |null |
|28 |Les marteaux de Vulcain |null |
|29 |Les Planètes en Sursis |null |
|30 |Les dieux verts |null |
|38 |Les lumières |null |
|41 |Les chaînes de l'avenir |null |
|46 |Les Doigts du Hasard |null |
|47 |Les rats |null |
|50 |Les Voix de Skaith |null |
|58 |Les enfants de Sturgeon |null |
|64 |Les Hommes de Poche |null |
|67 |Les Champs de l'Infini |null |
|69 |Les immortels |null |
|70 |Les mondes interdits |null |
|72 |Les anges de la colère |null |
|74 |Les joueurs de Titan |null |
|86 |Les fracassés |null |
|87 |Les domaines de Koryphon |null |
|88 |Les furies |null |
|90 |Les yeux d'Heisenberg |null |
|92 |Les racines du passé |null |
|96 |Les pillards de Skaith |null |
|102 |Les yeux d'ambre |null |
|114 |Les baladins de la Planète Géante|null |
+-------+---------------------------------+--------------+
TABLE(cols)CREATE OR REPLACE FUNCTION selectTitres(debut int, fin int)
RETURNS TABLE(numero int, titre VARCHAR) AS $$
SELECT liv_num, liv_titre FROM livre WHERE liv_num BETWEEN $1 AND $2;
$$ LANGUAGE SQL;
SELECT * FROM selectTitres(1,5) AS t1;
+------+------------------------+
|numero|titre |
+------+------------------------+
|1 |Le Cerveau Solitaire |
|2 |Le Voyageur de l'Inconnu|
|3 |Les Mutants |
|4 |La Galaxie Noire |
|5 |La Route étoilée |
+------+------------------------+