"Mikhail V. Puzanov" <misha.puzanov@gmail.com> writes: > -- increment and get the counter if exists > UPDATE sequences SET counter = counter + 1 > WHERE section = 'testSection' AND name = 'testKey' > RETURNING counter;
Seems that what you have here is a bad manual implementation of a sequence. Why don't you use a real sequence object and nextval()?
Well, if I use the real sequence, I'll need unpredictable number of them and will have to store mapping (section, name)->sequenceName, and also will have to create those sequences dynamically the similar way.