Hola Huesos de nuevo muchas gracias por tu respuesta, pues me funciono bastante ese tema, y llegue hasta este codigo ,
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION terceros_id(id INTEGER) RETURNS SETOF tbl_terceros AS $$
DECLARE
datos tbl_terceros%rowtype;
SQL TEXT := 'SELECT * FROM tbl_terceros';
sqlId TEXT;
BEGIN
IF ( id IS NOT NULL ) THEN
SQL = SQL || ' WHERE idtercero=$1';
END IF;
FOR datos IN EXECUTE SQL USING id LOOP
RETURN NEXT datos;
END LOOP;
RETURN;
END
$$ LANGUAGE plpgsql VOLATILE;
Y todo muy bien Pero , Cuando cambie el select * por un select nombre , apellido y lo ejecuto
me sale el siguiente error
ERROR: la sintaxis de entrada no es válida para el tipo numeric: «LILIANA»
CONTEXT: PL/pgSQL function "terceros_id" line 9 at bucle FOR en torno a una sentencia EXECUTE
y pues llego un buen rato y no he podido pasar de esto
Es posible que me puedas ayudar?