我目前有一个项目要每天对新的记录生成一个编号,我编号的规则是select to_char(sysdate,'yyyymmdd')||'-'||lpad(s_auto_id.Nextval,3,0) ordid from dual例如 20100201-001 ....s_auto_id 是一个序列(sequences),第天零点自动重建,从1开始但是这里有一个问题,会遇到一种临界状态,比如在零点的时候,我正好要生成一个编号,但此时序列还没有重建。而日期已是第二天了,这样就会造成问题。比如,今天是2010/05/05 ,时间刚好24点的时候,程序要生成一个编号,些时,刚好到日期为 2010/05/06 ,而 sequences还没有重建。这时05/06这一天的第一笔编号为 20100506-120(假设s_auto_id.nextval = 120),而不是20100506-001请问有没有更好的方法来避免这种临界状况吗?