دستور ALTER SEQUENCE RESTART

برای تغییر مقدار جاری یک sequence، روشهای مختلفی وجود دارد که یکی از این روشها، استفاده از دستور ALTER SEQUENCE RESTART می باشد که در اوراکل 12cR2 ارائه شد. در ادامه متن، شیوه استفاده از این دستور را مشاهده خواهید کرد.

SQL> CREATE SEQUENCE usef.sequence1 START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 50000;

Sequence created.

SQL> DECLARE

   var1 NUMBER;

BEGIN

   FOR i IN 1..175

   LOOP

      select usef.sequence1.nextval into var1 from dual;

   END LOOP;

END;

PL/SQL procedure successfully completed.

SQL> SELECT  usef.sequence1.nextval FROM dual;

   NEXTVAL

———-

       176

دستور زیر، مقدار sequence را به مقدار اولیه اش برمی گرداند:

SQL> ALTER SEQUENCE usef.sequence1 RESTART;

Sequence altered.

SQL> SELECT  usef.sequence1.nextval FROM dual;

   NEXTVAL

———-

         1

و با کمک دستور زیر، مقدار sequnce به یک عدد مشخصی تنظیم خواهد شد:

SQL> ALTER SEQUENCE usef.sequence1 RESTART START WITH 134;

Sequence altered.

SQL> SELECT  usef.sequence1.nextval FROM dual;

   NEXTVAL

———-

       134

نکته: در نسخه های ماقبل 12cR2، برای کاهش مقدار جاری یک sequence ، می توان از دستور زیر استفاده کرد:

alter sequence seq_name increment by -n;

Comment (1)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.