----- Original Message ----- From: "Alvaro Herrera" <[email protected]>
To: "Raul Andres Duque" <[email protected]>
Cc: <[email protected]>
Sent: Friday, April 24, 2009 4:50 PM
Subject: Re: [pgsql-es-ayuda] Type mismatch en función SQL


Raul Andres Duque escribió:

CREATE OR REPLACE FUNCTION columns(character varying, out character varying, out character varying, out character varying, out int, out int, out int, out character varying, out character varying, out character varying) RETURNS SETOF RECORD
AS
$BODY$
 SELECT  table_schema,
   column_name,
   udt_name,
   character_maximum_length,
   numeric_precision,
   numeric_scale,
   is_nullable,
   data_type
 FROM  information_schema.columns
 WHERE  table_name = $1
 ORDER BY table_schema, ordinal_position
$BODY$
  LANGUAGE 'sql' VOLATILE

El error es:

ERROR:  return type mismatch in function declared to return record
DETAIL:  Final SELECT returns too few columns.
CONTEXT:  SQL function "columns"

Dice que el SELECT tiene muy pocas columnas comparado con la cantidad de
parametros OUT (efectivamente, tiene 8 y hay 9 parámetros OUT).


Muchas gracias Alvaro. Un claro problema de miopía porque por más que contaba me daban 8 en el select y 8 en los parámetros :-(

Atentamente,

RAUL DUQUE
Bogotá, Colombia
--
Alvaro Herrera Developer, http://www.PostgreSQL.org/
"El sabio habla porque tiene algo que decir;
el tonto, porque tiene que decir algo" (Platon).

--
TIP 4: No hagas 'kill -9' a postmaster

Responder a