On Fri, 21 Mar 2003, Mario Alberto Soto Cordones wrote:
> CREATE or replace FUNCTION get_nombre(numeric,numeric,text) RETURNS setof
> cumaalu AS '
> SELECT cunomalu,cuappalu,cuapmalu FROM cumaalu
> WHERE siempalu = $1 and
> cusesalu = $2 and
> curutalu = $3;
> ' LANGUAGE SQL;
>
>
> the error say
>
> PostgreSQL ha dicho: ERROR: function declared to return cumaalu does not
> SELECT the right number of columns (49)
> Your query:
> CREATE FUNCTION get_nombre(numeric,numeric,text) RETURNS setof cumaalu AS '
> SELECT cunomalu,cuappalu,cuapmalu FROM cumaalu
> WHERE siempalu = $1 and
> cusesalu = $2 and
> curutalu = $3;
> ' LANGUAGE SQL
>
>
> please any idea., i canṫ't use select * becose the table its very long.
If you really want to return just three of the 49 columns, make a
composite type (see CREATE TYPE AS (...) ) and return a set of that type.