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.