先作update tb set 序号=序号+1 where 序号>=2 然后insert into tb values(code,2)
思路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;
update tab set 序号=序号+1 where 序号>=2; insert into tb values(code,2);
然后insert into tb values(code,2)
创建序列:
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;
insert into tb values(code,2);