比如说:今天是2008-7-24,明天是2008-7-25.
那么今天我在数据库表里增加了数据。。
表的主健就会以2008072401,2008072402,2008072403.......这样增长。
而过了晚上十二点后呢,也就是第二天。
表的主健就会以2008072501,2008072502,2008072503.....这样增长。
那么今天我在数据库表里增加了数据。。
表的主健就会以2008072401,2008072402,2008072403.......这样增长。
而过了晚上十二点后呢,也就是第二天。
表的主健就会以2008072501,2008072502,2008072503.....这样增长。
建个sequence
建个触发器(before insert的里面写系统日期连接sequence然后赋给:new)
再建立个job每天24点准时删除掉sequence再原样重建我能想到的就这么一个方法..别的想不出来..
比说说一天插入100条sequence最大值为101
按你说的插入小于sequence
那我24点前就插了100条
第二天我开始插入的时候岂不是101
然后1,2,3这样
这样不满足楼主的意思..
在主健上创建如下index:
create index i_tt_pk_id_1 on tt(substr(id,1,8));在插入以前,通过下面的方法获取主健值:
select nvl(max(id),to_char(sysdate,'yyyymmdd')||'01') maxid from tt where substr(id,1,8)=to_char(sysdate,'yyyymmdd');然后进行你的insert操作.....
BL$SEQ是Sequences..这样在插入前也可以实现。
如果不要在插入前写这些..当我插入数据的时候...它就会这样自动增加.那就更好不过了