如何实现"a001"这样的字段的自增啊?

kinetics 2003-06-22 05:45:09
要求按a001,a002实现字段自增
有好的方法么?
谢谢
...全文
136 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiezhi 2003-06-22
  • 打赏
  • 举报
回复
序列用法:

建立一个最小为1,最大为999999999的一个序列号会自动循环的序列

create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;

当向表中插入数据时,SQL语句写法如下:

SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
jiezhi 2003-06-22
  • 打赏
  • 举报
回复
按你的格式增的話,需要自己寫一個函數來實現。
要么使用pl/sql寫,要么使用你的開發工具寫。
oracle的自增是使用序列和觸發器來實現的。
jasoncheung 2003-06-22
  • 打赏
  • 举报
回复
create sequence seq_name
increment by 1
start with 1
maxvalue 999999999;


insert into table_name (seq_name.nextval,……);
yuxuanabs 2003-06-22
  • 打赏
  • 举报
回复
因为你的 第一位不一定是而后三位是编号应该是一定的所以建议用开发语言实现
copy(str,length(str)-2,3) 得到编号
转换为数字 + 1
转换为字符
补齐长度,得到所需字符串


beckhambobo 2003-06-22
  • 打赏
  • 举报
回复
insert into table_name values('a'||lpad(序列名.nextval,3,'0'),...);

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧