oracle 创建自定义的流水号

流水号的格式是年月日(6位)+流水号(3位),比如140425001,这个流水号前6位是每天的日期,后3为是从001开始的,自增长+1.求怎么实现及设置,这个流水号非主键... 流水号的格式是 年月日(6位)+流水号(3位) ,比如 140425001,
这个流水号前6位是每天的日期,后3为是从001开始的,自增长+1.

求怎么实现及设置,这个流水号非主键

比如我有张表table abc{
id ....,
taskid ...,
....
}
怎么设置 taskid
展开
 我来答
太平岁年丰9
推荐于2016-02-17 · TA获得超过1231个赞
知道小有建树答主
回答量:1017
采纳率:100%
帮助的人:1091万
展开全部
create sequence seq_abc_taskid maxvalue 999; --你确定流水号只要3位?
使用它的下一个值用: seq_abc_taskid.nextval
查询当前值用:seq_abc_taskid.currval
比如你现在要插入一行到abc,你可以
insert into abc values (1,seq_abc_taskid.nextval,....);
追问
我想要的是日期加上这个流水号,这要怎么处理?
就比如20140428002,前8位日期加上后3位流水号
追答
select to_char(sysdate,'yyyymmdd')||seq_abc_taskid.nextval from dual;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式