Well, the sequence table is probably safer, in that you are safe from dirty reads. In the Max query you might get a result, add one to it, and when you go to save, someone has already used that number and you get a Primary Key violation. With a Sequence, you can have Oracle handle it all for you. just use NextVal and no other user will get that number. You can use it in the INSERT statement, or if you need the number first in a GUI, then call SELECT sequence.NextVal from Dual and get the next value. Hope that helps. Mark