Java Fly

          Java&Oracle
          隨筆 - 12, 文章 - 20, 評(píng)論 - 27, 引用 - 0
          數(shù)據(jù)加載中……

          用存儲(chǔ)過(guò)程重置序列

          用存儲(chǔ)過(guò)程重置序列
          SQL> create sequence seq_1 increment by 1 start with 1 maxvalue 999999999;
          序列已創(chuàng)建。
          SQL> create or replace procedure seq_reset(v_seqname varchar2) as
          2 n number(10);
          3 tsql varchar2(100);
          4 begin
          5 execute immediate 'select '||v_seqname||'.nextval from dual' into n;
          6 n:=-(n-1);
          7 tsql:='alter sequence '||v_seqname||' increment by '|| n;--讓序列一次遞增-N,實(shí)現(xiàn)歸0
          8 execute immediate tsql;
          9 execute immediate 'select '||v_seqname||'.nextval from dual' into n;
          10 tsql:='alter sequence '||v_seqname||' increment by 1';
          11 execute immediate tsql;
          12 end seq_reset;
          13 /
          過(guò)程已創(chuàng)建。
          SQL> select seq_1.nextval from dual;
          NEXTVAL
          ---------
          2
          SQL> /
          NEXTVAL
          ---------
          3
          SQL> /
          NEXTVAL
          ---------
          4
          SQL> /
          NEXTVAL
          ---------
          5
          SQL> exec seq_reset('seq_1');
          PL/SQL 過(guò)程已成功完成。
          SQL> select seq_1.currval from dual;
          CURRVAL
          ---------
          1
          SQL>
          這樣可以通過(guò)隨時(shí)調(diào)用此過(guò)程,來(lái)達(dá)到序列重置的目的。

          posted on 2006-04-23 13:21 Java Fly 閱讀(838) 評(píng)論(1)  編輯  收藏 所屬分類: Oracle base

          評(píng)論

          # re: 用存儲(chǔ)過(guò)程重置序列  回復(fù)  更多評(píng)論   

          很好!謝謝!!!
          2009-02-18 15:48 | hl
          主站蜘蛛池模板: 山西省| 兖州市| 长沙市| 四子王旗| 成安县| 贵定县| 辽阳县| 纳雍县| 宝鸡市| 浑源县| 乡宁县| 扬中市| 东港市| 宣化县| 兰坪| 金秀| 阿瓦提县| 滦南县| 苏尼特右旗| 凌源市| 沈阳市| 富民县| 惠来县| 赣榆县| 尖扎县| 舒城县| 搜索| 安龙县| 普陀区| 凌云县| 讷河市| 广饶县| 榆林市| 平定县| 龙游县| 炎陵县| 莱西市| 庆云县| 彭泽县| 中山市| 梁山县|