From: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Cc: | udono <udono(at)gmx(dot)net> |
Subject: | Re: UPDATEs als Bündel absetzten |
Date: | 2006-08-23 14:03:00 |
Message-ID: | 200608231603.01348.peter_e@gmx.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Am Mittwoch, 23. August 2006 15:44 schrieb udono:
> UPDATE chart SET pos_ustva=96 WHERE accno IN ('1775') AND EXISTS
> (SELECT coa FROM defaults WHERE coa='Germany-DATEV-SKR03EU');
> UPDATE chart SET pos_ustva=100 WHERE accno IN ('1776') AND EXISTS
> (SELECT coa FROM defaults WHERE coa='Germany-DATEV-SKR03EU');
> ...
>
> Besteht in Postgressql die Möglichkeit, die UPDATES 'gebündelt'
> abzusetzen, ohne jedes Mal einzeln die Prüfung auf das Kriterium
> EXISTS (SELECT coa FROM defaults WHERE
> defaults.coa='Germany-DATEV-SKR03EU') durchführen zu müssen?
Ich denke, man könnte zum Beispiel die zu aktualisierenden Paare pos_ustva /
accno in einer Tabelle speichern und dann folgendes machen:
UPDATE chart
SET pos_ustva = COALESCE((SELECT pos_ustva FROM tmptbl WHERE accno =
chart.accno), pos_ustva)
WHERE EXISTS
(SELECT coa FROM defaults WHERE coa='Germany-DATEV-SKR03EU');
Eventuell geht das mit UPDATE FROM noch etwas eleganter, wäre aber wohl
equivalent.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/
From | Date | Subject | |
---|---|---|---|
Next Message | A. Kretschmer | 2006-08-23 14:05:14 | Re: UP |
Previous Message | udono | 2006-08-23 13:44:00 | UPDATEs als Bündel absetzten |