我有个字段是自动编号,编号唯一,组成方式是:ABCDE+年份+递增编号,比如ABCDE20148888,但是每到新的一年,比如2015年,递增编号又要从0001开始:ABCDE20150001,这样有什么方法可以实现呢?谢谢!
如果是就一个人使用 没有并发是好做的 就害怕多人同时使用
这边可以分成2个字段 ABCDE+年份一个字段,递增编号单独一个字段,用SELECT ABCDE+年份 || 递增编号 FROM A LEFT JOIN B ON 1=1 ORDER BY ABCDE+年份,B.递增编号
这里的关键是查出上一个编号就行了吧,
ABCDE+今年+如果今年等于上一个编号的年,就上一个的后四位+1,否则就是0001,这里转数字,补位啥的就不多说了。
select to_char(sysdate,'yyyyMMdd')||lpad('1',5,'0') from dual;
再写一个存储过程