社区
Oracle
帖子详情
日期+流水号 100分
肥胖的柠檬
2008-02-17 02:40:54
用sequence 的话只有自增列
我要的是
如:Q20082110001,Q20082110002....
过了一天后:Q20082120001,Q20082120002....
如何实现?
难道要每天0点运行一个JOB?重置序列?
还有没有更好的办法,大家是什么实现的?
...全文
245
13
打赏
收藏
日期+流水号 100分
用sequence 的话只有自增列 我要的是 如:Q20082110001,Q20082110002.... 过了一天后:Q20082120001,Q20082120002.... 如何实现? 难道要每天0点运行一个JOB?重置序列? 还有没有更好的办法,大家是什么实现的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tanjun132
2008-02-20
打赏
举报
回复
同意楼上的
wshy0772
2008-02-20
打赏
举报
回复
SELECT Max(ID)ID+1 FROM dual WHERE TO_Char(SYSDATE,'YYYYMMDD')=Copy(ID,2,9)
既然你这是编码字段就不要弄成ID,再建个ID把这个字段分出来吧,可以每次插入时求一下这个值
如果要批量插入的时候就把Max(ID)ID+1换成Max(ID)ID+RowNum
Kurt2008
2008-02-20
打赏
举报
回复
如果是以前,我肯定会采用3楼的方法,用触发器,外加max()+1的方法. 不过现在看来此方案只是在开发阶段, 单用户使用时OK. 如果多用户并发时, 问题可就多了.
在ORACLE中用SEQUENCE可以保证不产生重复序号的办法, 更能适应多用户并发的要求. 楼主自己的建议也许是最简便可靠的. 这样你在应用程序中就可以直接使用静态 'Q'||TO_CHAR(SYSDATE,'RRRRMMDD')||LPAD(SEQ.NEXTVAL,5,'0')了.
fazzamilan
2008-02-20
打赏
举报
回复
Q20082110001我想,大概可以用3部分組成吧?即,Q+2008211+0001。
那就寫一個loop就可以了吧?
onefours
2008-02-19
打赏
举报
回复
select cancat(to_cahr(sydate,'yyyymmdd'), seqence.nextval) from dual;
阿三
2008-02-18
打赏
举报
回复
写一个存储过程,在需要生成流水号时,就调用它生成一个,这样还能用事务进行控制,保证数据的完整性。
HelloWorld_001
2008-02-18
打赏
举报
回复
我用过的就是3楼的做发,可以实现
肥胖的柠檬
2008-02-17
打赏
举报
回复
用触发器,也要用用序列吧
Croatia
2008-02-17
打赏
举报
回复
赫赫,用MAX的做法,就是一定要考虑并发的情况。
wffffc
2008-02-17
打赏
举报
回复
不用序列,用触发器
JiansLovePb
2008-02-17
打赏
举报
回复
我认为这样子可以实现,假设你的自增列名是id,可以通过触发器来实现
select max(id) into:自增序号变量 from 表名 where 以当天作为条件;
然后把触发器置为insert的before条件下插入变量值
Croatia
2008-02-17
打赏
举报
回复
当然,之前的都不要了的话,就同时清空之前的。删除掉。
Croatia
2008-02-17
打赏
举报
回复
我可能会建立很多很多个sequence,按照日期,每个月底,生成一次,下个月用的。
名字就用日期。
JAVA生成订单号(
日期
+
流水号
)
JAVA生成订单号(
日期
+
流水号
) java按
日期
加
流水号
方式生成订单号,已经测试过,可递增方式生成。
java开发利用
日期
+xxx生成形如201312
100
01的
流水号
java开发用于给上传文件附上ID,此ID号为
日期
+xxx,生成形如201312
100
01 第二天自动从2013121
100
1开发不会重复。有问题可联系我。
存储过程实现生成
流水号
存储过程实现
流水号
,可以实现防止并发生成重复的
流水号
,.net 技术,sql server 数据库编写,可以参考学习哦
14位编号=8位
日期
(+6位
流水号
)
实现:生成长度为14位的编号,其中前8位为当前
日期
(
日期
格式:YYYYMMDD),后6位为
流水号
。
mysql创建
流水号
mysql创建
流水号
,以前也一直不知道怎么写,最后我知道了,然后我保存了下来
Oracle
17,078
社区成员
55,233
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章