Kalau begitu jawaban saya cocok tuh mas, recreate aja sequence-nya (drop & 
create), ga pake alter loh, hehe.

Salam,

firman



----- Original Message ----
From: Denny Kusumah <[EMAIL PROTECTED]>
To: [email protected]
Sent: Tuesday, August 19, 2008 4:43:35 PM
Subject: Fw: Re: [indo-oracle] restart sequence


Dear Mas/Pak Awaluddin Hamid
Script yang Anda contoh kan memang berhasil dan saya sudah mencobanya,
namun yang saya maksudkan adakah script untuk mereset sequence
tanpa harus menggunakan script 'alter sequence', kalau menggunakan
script ini artinya nilai sequence nya dikurangi dulu dari nilai parameter 
yang di-input.
Terima kasih atas penjelasan-nya Mas/Pak Awaluddin Hamid

--- On Tue, 8/19/08, Awaluddin Hamid <[EMAIL PROTECTED] com> wrote:

From: Awaluddin Hamid <[EMAIL PROTECTED] com>
Subject: Re: [indo-oracle] restart sequence
To: indo-oracle@ yahoogroups. com
Date: Tuesday, August 19, 2008, 1:54 AM

Denny Kusumah wrote:
>
> Dear Master oracle
> Saya mo tanya nih, gmn ya caranya mereset sequence.
> Saya telah membuat suatu sequence, misalkan namanya
> 'tcnpm004s' dengan nilai terakhir 18 (select tcnpm004s.nextval from dual),
> yang saya mo tanya kan adakah yang tahu script untuk mereset nilai 
> sequence
> tersebut menjadi satu kembali, saya telah googling kemudian saya 
> mendapatkan sintak
> 'alter sequence tcnpm004s increment by -1 minvalue 0' cara tersebut 
> berhasil mengurangi
> nilai sequence tapi dengan syarat saya menjalankan sintak tersebut 
> selama 17 kali
> (capek deh), nah gmn ya cara langsung mereset sequence biar nilai nya 
> langsung menjadi 1
> 
> 
> -Denny-
>
>
> 

Scriptnya kurang lengkap..

- Ambil nilai terakhir
SQL> COLUMN col new_val inc_by;
SQL> SELECT tcnpm004s.NEXTVAL col FROM DUAL;
COL
----------
2

- Jadikan sebagai minus increment
SQL> ALTER SEQUENCE tcnpm004s INCREMENT BY -&inc_by MINVALUE 0;
old 1: ALTER SEQUENCE tcnpm004s INCREMENT BY -&inc_by MINVALUE 0
new 1: ALTER SEQUENCE tcnpm004s INCREMENT BY - 2 MINVALUE 0
Sequence altered.

- Ambil nilai pertama (u/ pengecekan dan penyesuaian nilai mula2)
SQL> SELECT tcnpm004s.NEXTVAL col FROM DUAL;
COL
----------
0

- Kembalikan nilai increment default
SQL> ALTER SEQUENCE tcnpm004s INCREMENT BY 1;
Sequence altered.

- Sequence siap digunakan kembali
SQL> SELECT tcnpm004s.NEXTVAL FROM dual;
NEXTVAL
----------
1

Untuk efesiensi dan kemudahan pemeliharaan, gunakan Stored Procedure 
untuk melakukan reset sequence.

hth,
AH


[Non-text portions of this message have been removed]

    


      

[Non-text portions of this message have been removed]

Kirim email ke