The fact that Oracle (Sybase does too) leaves "holes" has all
to do with performance. With properly written SQL, it's not
necessary that the sequence is continuous, as long as the
elements are unique (so you can use them as a unique key), and monotonous (so you can do an 'order by' on them). I wouldn't use a trigger
for that if performance mattered.