编号一个12位数,前8位为默认日期,后四位由0001开始此编号每天都要重0001开始。
如:2010-12-30 编号是由 201012300001
2011-12-31 编号是由 201012310001数据库用的是oracle,请教大家有什么好的方式来生成编号吗
如:2010-12-30 编号是由 201012300001
2011-12-31 编号是由 201012310001数据库用的是oracle,请教大家有什么好的方式来生成编号吗
解决方案 »
- 求指导随机排序问题
- struts2单选按钮的文本显示问题
- 做的STRUSTS项目。做图片缩略图片。。。但图片不支持ONLOAD 属性
- 关于网页跳转的问题
- 想做一个在线交流的功能,高手提供点思路?
- 用jsp如何编写退出系统的代码
- JSP里如何调用ORACLE的函数?50分求解
- web日历,直接把在日历上选中的日期输入到text里面去,有这样的组件吗?
- 请教2个问题??一:如何得到别人的IP地址??? 二:用那种方法重定向页面时不显示后面的参数??
- 我写了个很小的程序,但运行不起来,大家看看是什么错误
- 急急急!!!菜鸟请教:While (db.rs_next()){出错
- 给一个div innerHTML 后 没有内容显示的问题
id2 就是根据id1和日期组合的 存进表里。
然后这就得到 你想要的编号了,在放的实际需要的表上
spring 写个定时任务,每天0点 将辅助表清空
很感谢LZ,可是数据库是oralce,自增列需要用到sequence,就需要每天重置sequence为1;
个人解决办法如下:
1、创建sequence seq_tabl_id
2、获取编号:日期+select seq_tabl_id.nextval from dual;
3、每天0点定时执行
String seq = select seq_tabl_id.nextval from dual;
alter sequence seq_tabl_idincrement by -(seq-1);
select seq_tabl_id.nextval from dual;
alter sequence seq_tabl_idincrement by 1;
SELECT NVL((select 字段名 + 1 FROM (select 字段名 FROM 表名 where SUBSTR(TO_CHAR(字段名),1,8) = TO_CHAR(SYSDATE, 'YYYYMMDD') ORDER BY 字段名 DESC) WHERE ROWNUM = 1), TO_CHAR(SYSDATE, 'YYYYMMDD') || '0001') FROM DUAL;