思路1:使用序列
创建序列:
CREATE SEQUENCE seq_name
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 999999999
CYCLE
NOORDER
CACHE 50
/
使用序列:
SELECT LTRIM(TO_CHAR(seq_name.NEXTVAL,'000000000')) INTO v_var FROM DUAL;思路2: 建一张表id_tb存储 最大序号
插入数据时
SELECT ID INTO V_ID FROM ID_TB WHERE ROWNUM = 1 FOR UPDATE;
INSERT INTO TABLE_NAME(ID,...) VALUES(V_ID,...);
UPDATE SET ID_TB ID = ID+1;
COMMIT;
创建序列:
CREATE SEQUENCE seq_name
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 999999999
CYCLE
NOORDER
CACHE 50
/
使用序列:
SELECT LTRIM(TO_CHAR(seq_name.NEXTVAL,'000000000')) INTO v_var FROM DUAL;思路2: 建一张表id_tb存储 最大序号
插入数据时
SELECT ID INTO V_ID FROM ID_TB WHERE ROWNUM = 1 FOR UPDATE;
INSERT INTO TABLE_NAME(ID,...) VALUES(V_ID,...);
UPDATE SET ID_TB ID = ID+1;
COMMIT;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货