Re: UP

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

In response to

Responses

  • Re: UP at 2006-08-28 14:29:35 from udono

Browse pgsql-de-allgemein by date

  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