1:編寫存儲過程
CREATE OR REPLACE PROCEDURE seq_reset AS
n NUMBER(10);
tsql VARCHAR2(100);
BEGIN
EXECUTE IMMEDIATE 'select SQD_LSH.nextval from dual'
INTO n;
n := - (n );
tsql := 'alter sequence SQD_LSH increment by ' || n;
EXECUTE IMMEDIATE tsql;
EXECUTE IMMEDIATE 'select SQD_LSH.nextval from dual'
INTO n;
tsql := 'alter sequence SQD_LSH increment by 1';
EXECUTE IMMEDIATE tsql;END seq_reset;
原理:先得到sequence的當前值,然後設置其步長爲這個值的相反數,在執行nextval相當於減去已經增長的部分,使sequence重新歸零,最後恢復步長爲1.
2: 創建一個 job 設置成每天運行這個 存儲過程
3:關於job的時間間隔,可參考一下博主的文章,附鏈接https://blog.csdn.net/wangjiajiachengcheng/article/details/51335871,https://blog.csdn.net/qq_40709468/article/details/81876828?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase,
有問題,歡迎交流