oracle 表中如何对按含有字母和数字的编号来进行排序

oracle 表中如何对按含有字母和数字的编号来进行排序,第1张

排序的话,用order by来处理即可。

比如:

col

a123

a234

b999

b335

select  from tablename order by col;

结果就是

col

a123

a234

b335

b999

如果按倒序排列:

select  from tablename order by col desc;

结果就是

col

b999

b335

a234

a123

select your_seq_namecurrval from dual;

可以得到当前值,且不会增加序列

不过需要注意的是如果该序列是第一次使用,是不能用currval的,因为还没初始,必须至少用nextval一次后才能用currval。

判断:查找表触发器,sequence是否有效。

原理:ORACLE通过使用触发器完成自动生成序列号的工作,这一点相较ACCESS类数据库不同。程序员通常先建立序列sequence,然后创建基于表的触发器以自动产生编号

以创建sequence tb1_seq为例:

create sequence tb1_seq

minvalue 1

maxvalue 999999999999999999999999999

start with 1 --从1开始

increment by 1 --自增1

nocache; --不循环

创建一个行级触发器,当插入表tb1时,触发自动编号

create or replace trigger tb1_trigger

before insert on tb1 --插入前取当前序列值的下一个

for each row

begin

select tb1_seqnextval into :newId from dual;

end ;

PS:tb1_seqnextval可直接在存储过程中使用

select t from

(

select a,rownum as rownums from test a

) t where rownum = 输入查询的序号

外边再用层嵌套不就行了吗?

比如

select rownum,acol1,aclo2,acounts from

(select col1,col2,count() counts from table1 group by col1,col2) a;

以上就是关于oracle 表中如何对按含有字母和数字的编号来进行排序全部的内容,包括:oracle 表中如何对按含有字母和数字的编号来进行排序、oracle中,在不用nextval的情况下,如何得到序列当前值、ORACLE 中如何判断自动产生了编号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9599141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存