社区
Oracle
帖子详情
日期+流水号 100分
肥胖的柠檬
2008-02-17 02:40:54
用sequence 的话只有自增列
我要的是
如:Q20082110001,Q20082110002....
过了一天后:Q20082120001,Q20082120002....
如何实现?
难道要每天0点运行一个JOB?重置序列?
还有没有更好的办法,大家是什么实现的?
...全文
256
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订单号(时间加
流水号
).txt`文件,可能包含了具体的代码实现或使用示例,你可以查阅该文件以获取更详细的实现细节。在实际...
java开发利用
日期
+xxx生成形如201312
100
01的
流水号
java开发用于给上传文件附上ID,此ID号为
日期
+xxx,生成形如201312
100
01 第二天自动从2013121
100
1开发不会重复。有问题可联系我。
14位编号=8位
日期
(+6位
流水号
)
流水号
的长度可以根据需要而定,但在本例中,我们将实现一个14位的
流水号
,其中前8位为当前
日期
,后6位为
流水号
。 实现自动生成
流水号
的14位编号 为了实现自动生成
流水号
的14位编号,我们将使用SQL Server来实现。...
存储过程实现生成
流水号
存储过程实现
流水号
,可以实现防止并发生成重复的
流水号
,.net 技术,sql server 数据库编写,可以参考学习哦
C#生成
流水号
小代码
这段代码主要实现了在C#中自动生成带有
日期
的
流水号
的功能。
流水号
通常用于标识唯一性记录,例如订单编号、文档编号等。该代码通过结合当前
日期
与递增的序列号来生成唯一的
流水号
。 #### 二、关键代码
分
析 ##### 1...
Oracle
17,136
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章