Re: Wert in einer Tabelle fortschreiben.

From: "Andreas Kretschmer - internet24 GmbH" <kretschmer(at)internet24(dot)de>
To: "'Guenther Boelter'" <gboelter(at)gmail(dot)com>, <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Wert in einer Tabelle fortschreiben.
Date: 2014-01-09 12:59:56
Message-ID: 017901cf0d3a$b23907e0$16ab17a0$@internet24.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

> Sequence'n hatte ich mir zwar auch schon angesehen, bin aber davon
> ausgegangen, dass das nun doch 'ne Nummer zu gross waere fuer diese
> dreieinhalb Daten. Ist es aber anscheinend ja nicht.

Also, um das noch mal klarzustellen: wenn Du darauf angewiesen bist, daß die Nummern wirklich frei von Lücken sind, dann hast bei Sequencen ein Problem, wenn eine Transaktion scheitert. Sequencen kennen kein ROLLBACK, eine einmal gezogene Nummer ist weg.

Also, du ziehst 4711 als Rechnungsnummer, dann kommt es aber zu einem Rollback. Deine letzte Rechnungsnummer ist 4710, die nächste 4712.
Wenn Du damit leben kannst, dann okay. Falls nicht: bleib bei Deiner Lösung. Durch das RETURNING ist das alles eine einzelne Transaktion, sollte also auch 'safe' sein.

>
> Und was MySQL angeht, ja Andreas, da stimme ich Dir mittlerweile
> uneingeschraenkt zu. Habe ich aber auch erst in den letzten Monaten
> begriffen, als ich mich dann doch mal - freiwillig - intensiv mit
> PostgreSQL beschaeftigt habe.

Es sind einfach die Features von PG, wo MySQL noch um Lichtjahre weg ist.

Andreas

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Andreas Kretschmer - internet24 GmbH 2014-01-09 14:25:32 Re: ODBC Postgresql Driver for Windows 2008 Server 64
Previous Message Guenther Boelter 2014-01-09 12:34:44 Re: Wert in einer Tabelle fortschreiben.