sqlplus如何添加一个字符串增一序列?
用于4位账单编号,bill_id:0001-9999
并且作为主键,每次insert都会自增1
------解决方案--------------------建一个SUQUENCE吧
------解决方案--------------------嗯,只能创建一个序列值,insert的时候引用序列的nextval
------解决方案--------------------SQL> CREATE SEQUENCE e_idx
2 INCREMENT BY 1
3 START WITH 1
4 MAXVALUE 9999
5 /
Sequence created
SQL> select lpad(e_idx.nextval,4,'0') from dual;
LPAD(E_IDX.NEXTVAL,4,'0')
-------------------------
0001
SQL>
------解决方案--------------------首先介绍下lpad用法:
lpad(字段名,填充长度,填充的字符),字段名就是你要对其进行填充的字段(可以是字符数字等)
,填充长度是你填充后字段的长度,填充字符可以使数字、字母等。
select lpad(5,4,'B') from dual;
结果是:BBB5
按你的要求就要:
先建立一个序列,
create sequence bill_id
increment by 1
start with 1
maxvalue 9999;
在对其进行查找并在之基础上对其进行填充0,
select lpad(bill_id.nextval,4,'0') from dual;
运行结果是如图: