oracle 序列初始值的设定

如何让oracle序列的值为当前时间加上另外一个字符串如:20080909+001... 如何让oracle序列的值为当前时间加上另外一个字符串如:20080909+001 展开
 我来答
百度网友c5f275c
2008-09-09 · TA获得超过1842个赞
知道小有建树答主
回答量:646
采纳率:50%
帮助的人:807万
展开全部
你的意思是序列的NEXTVAL为SYSDATE的年月日+001或者正常序列的NEXTVAL?
这里的SYSDATE是用户调用时的时间?每次都不一样?
或者只是加上今天的20080909,如果这样的话,你直接以20080909001开始就OK了嘛,后面增1什么的。
如果是前面的意思的话,单纯序列是实现不了的,那要看你怎么用了,如果是要得到这样的值的话可以用连接啊,to_number(to_char(sysdate,'yyyymmdd')||'00'||seq.nextval 这样就OK了嘛
比如insert into table (id) values (to_char(sysdate,'yyyymmdd')||'00'||to_char(seq.nextval));
liuleiqt
2008-09-09 · TA获得超过1285个赞
知道小有建树答主
回答量:1953
采纳率:0%
帮助的人:368万
展开全部
看似生成的这个码好像是主键或者主键的一部分吧?
可以写beforeinsert的触发器

但是这个不如写成存储过程的好 因为触发器在插入前触发,但是在插入内容的时候发生异常,造成不能插入的话,包含生成了id的记录会不会删除这条记录呢?

存储过程可以生成这个编码,而且在插入的时候如果失败就rollback,处理比较合理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6eed2f8
2008-09-09 · TA获得超过5082个赞
知道大有可为答主
回答量:3423
采纳率:0%
帮助的人:3775万
展开全部
写个触发器,让触发器生成主键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式