Hi, folks! Reading previous posts on returning composite types in pl/pgsql, I still haven't found a good answer for this issue: Let's say we create this table: /*************************************************************************************/ CREATE TABLE "tbl_estadosoporte" ( "id" CHAR(1) NOT NULL, "nombreestado" VARCHAR(20) NOT NULL, CONSTRAINT "tbl_estadosoporte_pkey" PRIMARY KEY("id") ) WITH OIDS; /*************************************************************************************/ Now, I want a pl/pgsql function returning: a) error_code (depending on logic conditions) b) Result set (tbl_estadosoporte%TYPE) My first guess was: /*************************************************************************************/ CREATE TYPE "tp_res_conestadosdisponiblessoporte" AS ( "codigoerror" VARCHAR(100), "filas" tbl_estadosoporte /* Implicit Composite type created with table */ ); /*************************************************************************************/ But, when executing pl/pgsql function: /*************************************************************************************/ CREATE OR REPLACE FUNCTION "conestadosdisponiblessoporte" (estadoactual varchar) RETURNS "tp_res_conestadosdisponiblessoporte" AS $body$ DECLARE res helpdesk.tp_res_conestadosdisponiblessoporte; BEGIN IF estadoactual = 'Abierto' THEN SELECT INTO res.filas * FROM tbl_estadosoporte WHERE id NOT IN ('A','P') ORDER BY id; /* SOME OTHER CONDITIONS HERE... */ END IF; res.codigoerror = 'OK' RETURN res; EXCEPTION /* SOME ERROR TRAPPING */ WHEN OTHERS THEN res.codigoerror = 'Generic error :p'; RETURN res; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; /*************************************************************************************/ (BTW, this is just a work in progress.. :D ) I got the error: ERROR: cannot assign non-composite value to a row variable. Couldn't find other posts regarding the above message... Perhaps it's just a design problem... this was a T-SQL (MsSQLServer) stored procedure, with both OUTPUT parameters and a resultset... Any help or suggestions greatly appreciated. Thx!! ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org