桃花長(zhǎng)相依
2019-06-29 17:57:26
如何在Oracle中重置序列?在……里面PostgreSQL我可以做這樣的事:ALTER SEQUENCE serial RESTART WITH 0;有甲骨文的等價(jià)物嗎?
3 回答

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
tkyte@TKYTE901.US.ORACLE.COM> create or replaceprocedure reset_seq( p_seq_name in varchar2 )is l_val number;begin execute immediate 'select ' || p_seq_name || '.nextval from dual' INTO l_val; execute immediate 'alter sequence ' || p_seq_name || ' increment by -' || l_val || ' minvalue 0'; execute immediate 'select ' || p_seq_name || '.nextval from dual' INTO l_val; execute immediate 'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0';end;/

千巷貓影
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
ALTER SEQUENCE serial INCREMENT BY -400;SELECT serial.NEXTVAL FROM dual;ALTER SEQUENCE serial INCREMENT BY 1;

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
刪除序列 重造
--Drop sequenceDROP SEQUENCE MY_SEQ;-- Create sequence create sequence MY_SEQ minvalue 1maxvalue 999999999999999999999start with 1increment by 1cache 20;
添加回答
舉報(bào)
0/150
提交
取消