From: | "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: UP |
Date: | 2006-08-23 14:05:14 |
Message-ID: | 20060823140514.GC6238@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
am Wed, dem 23.08.2006, um 15:44:00 +0200 mailte udono folgendes:
> Hallo,
>
> ich habe folgendes Problem:
> Es sollen eine Reihe von UPDATES und INSERTS durchgeführt werden, in
> Abhängigkeit von einem Kriterium (EXISTS (SELECT coa FROM defaults
> WHERE coa='Germany-DATEV-SKR03EU')):
>
> 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?
Mmmh.
Kannst Du die Wertepaare nicht schon in einer table vorher erfassen?
Ich meine sowas wie:
eine table foo, die upzudaten ist:
test=# select * from foo;
id | wert
----+------
1 | 0
2 | 0
3 | 0
(3 rows)
eine table bar, die id und wert enthält, was upzudaten ist:
test=*# select * from bar;
id | wert
----+------
1 | 10
2 | 20
(2 rows)
und nun:
test=*# update foo set wert = (select wert from bar where foo.id=bar.id);
UPDATE 3
test=*# select * from foo;
id | wert
----+------
1 | 10
2 | 20
3 |
(3 rows)
bzw.: update foo set wert = (select wert from bar where foo.id=bar.id)
where id in (select id from bar); um für id=3 korrekt zu arbeiten.
Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47215, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
eMail schreiben kann jeder -- lernen: http://webserv/email/email.html
From | Date | Subject | |
---|---|---|---|
Next Message | rene hankel | 2006-08-23 14:13:22 | AW: [pgsql-de-allgemein] UPDATEs als Bündel absetzten |
Previous Message | Peter Eisentraut | 2006-08-23 14:03:00 | Re: UPDATEs als Bündel absetzten |