Bonjour voici mon probleme.
j'ai une table :
ma_table ( id , val1 , val2 , val3 )

ceci fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
CREATE FUNCTION test( IN id ) RETURNS SETOF ma_table  AS '
SELECT * FROM ma_table WHERE id = $1;
' LANGUAGE SQL;
Mais pourqoi cela ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
CREATE FUNCTION test( IN id ) RETURNS SETOF ma_table  AS '
SELECT val1 FROM ma_table WHERE id = $1;
' LANGUAGE SQL;
ERROR: return type mismatch in function declared to return ma_table
DETAIL: Final SELECT returns too few columns.
CONTEXT: SQL function "test"