UPDATE eine ganze Zeile in PL / pgSQL

Ich habe die Funktion 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;

Ich würde gerne wissen, ob ein direktes UPDATE möglich istmy_row Aufzeichnung.

Der einzige Weg, den ich jetzt gefunden habe, ist:

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

Beachten Sie, dass dies nur eine Beispielfunktion ist. Die reale Funktion ist weitaus komplexer.

Ich benutze PostgreSQL 9.2.

AKTUALISIEREN:

Entschuldigung für die Verwirrung, was ich sagen wollte ist:

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;

Das heißt Benutze mein_row Informationen in der zugrunde liegenden Tabelle beizubehalten. Ich muss viele Parameter aktualisieren.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage