Funktion die Integerzahl zurückliefert und hochzählt

Hallo zusammen,
ich brauche für mein Datenbankprojekt eine Funktion, die bei jedem Aufruf eine Integerzahl zurückliefert und dann hochzählt ( oder umgekehrt auch gut ).
Also beim ersten Aufruf dieser Funktion, wird eine 1 zurückgeliefert, beim zweiten eine 2 usw.

Frage: sind Funktionen Datenbank gebunden, oder werden sie global vom Datenbank-Server angeboten? Und wie könnte man sie von einem Perl-Skript aus aufrufen? Doch nicht über DBI!?!

Gruss Christian

Hallo Christian,

einen Counter kannst Du Dir mit CREATE SEQUENCE erstellen.

Mit nextval(text), currval(text), setval(text, bigint) und setval(text, bigint,boolean) hast Du Funktionen, um den Counter damit zu beeinflussen. Für das explizite hoch- und runter-Zählen müsstes Du eigene Funktionen in plpgsql schreiben.


mfg

fristo