ACTUALIZAR una fila entera en PL / pgSQL

Tengo la función plpgsql:

CREATE OR REPLACE FUNCTION test() RETURNS VOID AS
$
DECLARE
    my_row my_table%ROWTYPE;
BEGIN
    SELECT * INTO my_row FROM my_table WHERE id='1';
    my_row.date := now();
END;
$ LANGUAGE plpgsql;

Me gustaría saber si es posible ACTUALIZAR directamentemy_row grabar.

La única manera que he encontrado para hacerlo ahora es:

UPDATE my_table SET date=now() WHERE id='1';

Tenga en cuenta que esto es solo una función de ejemplo, la real es mucho más compleja que esta.

Estoy usando PostgreSQL 9.2.

ACTUALIZAR:

Perdón por la confusión, lo que quería decir es:

SELECT * INTO my_row FROM my_table INTO my_row WHERE id='1';
make_lots_of_complicated_modifications_to(my_row, other_complex_parameters);
UPDATE my_row;

Es decir. Usa mi_row para persistir la información en la tabla subyacente. Tengo muchos parámetros para actualizar.

Respuestas a la pregunta(2)

Su respuesta a la pregunta