oracle生成编号(当前日期+4位流水号)自动增长,流水号的规则是:1月1号又从0001重新开始,每次递增1.0
xujing19742014.10.13浏览315次分享举报
我做了一天了 流水号我是用序列生成的 ,现在关键就是每个月1号要从零开始。而且1号从0001开始 一次 然后又0002,0003,。。。
代码如下
create or replace function getmoduleno(qianzhui varchar2) --参数是前缀;
return varchar2
is
moduleno varchar2(50);--物料设计单编号
curdate varchar2(20); --当前日期;
nextseq number; --下一个序列值;
liushuihao varchar(4); --保存流水号;
curdd varchar(4); --当前日期的日;
curseq number;--当前序列值
begin
select to_char(sysdate,'yyyyMMdd') into curdate from dual;-- 获取当前日期20120804;
select to_char(sysdate,'dd') into curdd from dual;
select seq_moduleno.currval into curseq from dual;
if curdd = '01' then
dbms_output.put_line(curseq);
execute immediate 'alter sequenc