oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?

例如SD000001这样的编号然后每次插入数据的时候,编号的尾数都会递增... 例如 SD000001 这样的编号 然后每次插入数据的时候,编号的尾数都会递增 展开
 我来答
du瓶邪
推荐于2017-09-23 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2817万
展开全部
排序的话,用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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
moreazy
2012-03-22 · TA获得超过742个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:131万
展开全部
先创建一个sequence
然后给插入数据的表写个trigger;before insert 的时候 设置这个字段的值为
SD||sequence.nextval
更多追问追答
追问
不是很明白,不知道这位大哥,能否贴出一个例子...
追答
create sequence seq_1 start with 1 nocache;
seq_1为序列名称
触发器如下:

create trigger xxx_id_trg --trigger name
before insert
on table_name
for each row
begin
:new.column_name:=SD||lpad( seq_1.nextval,6,'0');
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
patooo
2012-03-27 · 超过17用户采纳过TA的回答
知道答主
回答量:121
采纳率:100%
帮助的人:53.6万
展开全部
create sequence 表名_seq increment by 1 start with 100000001 nocache;

insert into 表名(字段,字段,字段,字段)
values('SD'||表名_seq.nextval,'张三','123','Y');

这个东西又没什么逻辑的,不知道楼主究竟要怎样的效果
追问
嗯,说的有点道理,如何产生一个字母+日期+数字(数字是自增的) 例如:  AC20120330001的代码呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
frogley
2012-03-22 · TA获得超过1854个赞
知道小有建树答主
回答量:1008
采纳率:50%
帮助的人:1068万
展开全部
建一个自增列id,像000001这样。那么SD||id就等于SD000001了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式