chimaria...
No es posible recorrer la variable sql que tiene un update con un for.
Si requieres hacer primero un update y luego consultarlo prueba algo como:
Código sql:
Ver originalCREATE OR REPLACE FUNCTION act_concepto1(idsede INTEGER, idconcepto INTEGER,clase INTEGER)
RETURNS SETOF conceptos AS
$BODY$
DECLARE
fila conceptos%rowtype;
SQL CHARACTER VARYING;
sql2 CHARACTER VARYING;
BEGIN
SQL = 'UPDATE CONCEPTOS SET idsede = idsede,
idconcepto = idconcepto,
clase = clase
WHERE idconcepto like ''%' || ltrim(rtrim(idconcepto)) || '%''';
EXECUTE SQL;
sql2 = 'select *from CONCEPTOS WHERE idconcepto like ''%' || ltrim(rtrim(idconcepto)) || '%''';
FOR fila IN EXECUTE sql2
LOOP
RETURN NEXT fila;
END LOOP;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION act_concepto1(idsede INTEGER, idconcepto INTEGER,clase INTEGER) OWNER TO postgres;
También deberías concatenar laS VARIABLES CLASE e idsede