欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle 计算编号解决方案

更新时间: 2014-01-05 02:12:31 责任编辑: Author_N1

 

oracle 计算编号
oracle
有什么sql语句
或函数能够顺序算出
01 02 03 04 05 06 07 08 09 10 。。。。。。。。。。。。。。。。
这样的数字
求解!!!!!!!!

--参考方法--
通过 rownum 可以得出你要的效果
--参考方法--
select level from dual connect by level<=999999
--参考方法--
好像没有这样的函数吧,你计算出来之后可以看下位数不足前面加0,不过字段必须是varchar类型的,inert类型的数据不会出现09这样的显示.
--参考方法--
只需要2位数的话 补0就可以了


--如果只是要这些数据 通过level
select lpad(level,2,'0') c1
from dual
connect by level < 100

--如果是要在查询的时候
select lpad(rownum,2,'0') rn,a_id
from t_admin

--参考方法--
sql如下:


select lpad(rownum,2,0) seq from dual connect by rownum<11;
 
SEQ
----
01
02
03
04
05
06
07
08
09
10
 
10 rows selected

--参考方法--
引用:
就是不是一次性查询出来
执行一次 是01
执行第二次 是 02





以次类推
 不是一条sql啊,这条sql执行一次给01,第二次给02么?
--参考方法--
创建sequence 查询的时间直接用就行了

create sequence test_seq
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
nocache;

--每次查询值就下面这方式
select lpad(a_seq.nextval,2,'0') seq
from dual

--参考方法--
引用:
创建sequence 查询的时间直接用就行了

create sequence test_seq
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
nocache;

--每次查询值就下面这方式
select lpad(a_seq.nextval,2,'0') seq
from dual

oracle要创建sequence序列的 
然后创建触发器 每次insert 加1 就可以了!  
--参考方法--
引用:
oracle要创建sequence序列的 
然后创建触发器 每次insert 加1 就可以了!  


 无需创建触发器  每次不管查询或者插入 直接a_seq.nextval就可以了 会自动获取下一个数
--参考方法--
非常支持2楼的看法,用connect by 
--参考方法--
每要一次,自动加编号,你就8楼的系列就OK 了!
--参考方法--


序列
伪列
--参考方法--
引用:
如果是序列的话
关闭页面之后
再打开
他的序列就不是又从01开始计算了
而是再从之前的序列计算起不是吗?
序列创建后,会保存在数据库中,每次调用都按照预算设置的增长值增长,如果设置的可循环,那达到最大值后会重头开始。不会因为关闭页面再打开就重新开始。建议楼主看一下oracle序列,很好理解的。
--参考方法--
看8楼给的序列创建方法 调用的话 就增加1 不调用就不增加。
--参考方法--
引用:
创建sequence 查询的时间直接用就行了

create sequence test_seq
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
nocache;

--每次查询值就下面这方式
select lpad(a_seq.nextval,2,'0') seq
from dual
 这个可以有 
--参考方法--
看你的业务需求场景了
如果允许断号,比如05完了可以是07,那用序列最简单
如果不允许,比如财务,那就最大值加一,注意判断好并发问题
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:12:31
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6963/
本文WWW.DOC100.NET DOC100.NET版权所有。