On 12/04/2013 9:24 AM, Johan Eriksson wrote: > Hi all, > I think most of us has seen someone trying to be smart or trying to gain > database independencies by not using oracle sequence but instead roll their > own system by using a table, and a row for each "sequence". > Almost every attempt on this I yet have seen has been plagued with row lock > contention or other concurrencies, scalability zero... <rant> The basic question is whether you can use a sequence or whether you need a serial number. Sequences provide a light-weight, [almost] guaranteed unique number, but it is not a serial number. If you need a serial number, you probably need to enforce serialization. Serialization is fundamentally about locking to ensure 'one at a time'. "Concurrency in a serial environment" becomes the oxymoron in that discussion - if you want to support a concurrent environment with minimal impact, you need to lift some of the constraints, such as "no gaps". The basic problem, therefore comes down to understanding the question: "What is that number actually supposed to do for the business." Once that is understood, you can look at a number of alternatives to fulfilling that need. Knuth rules! </rant> /Hans -- //www.freelists.org/webpage/oracle-l