20 June 2013

SQL Server: Mengatur Ulang Nilai Field IDENTITY


Dalam kondisi tertentu terkadang kita perlu menggunakan field identity pada table yang kita buat. Dan sewaktu-waktu bisa saja kita perlu menghapus seluruh isi tabel (atau mungkin sebagian) kemudian kita ingin nilai identity di-reset kembali ke 1 (atau nilai tertentu).

Untuk lebih jelasnya, mari kita buat contoh kasus, buat table dengan sintaks berikut:
CREATE TABLE tblColor
(
ColorID INT IDENTITY,
ColorName VARCHAR(25)
)


Kemudian insert data dengan menggunakan sintaks:
INSERT INTO tblColor (ColorName) VALUES ('Purple')
INSERT INTO tblColor (ColorName) VALUES ('Green')


Nilai field ColorID adalah 1 dan 2. Check dengan query:
SELECT ColorID, ColorName FROM tblColor

Result:


Lalu...lalu... mari kita coba delete trus insert lagi.
DELETE FROM tblColor
INSERT INTO tblColor (ColorName) VALUES ('Red')


Check nilai ColorID dengan query:
SELECT ColorID, ColorName FROM tblColor

Result:

ColorID = 3 ???? Kita pengen nya 1 koq hehe...
Okay, lets try this sintaks:
TRUNCATE TABLE tblColor
INSERT INTO tblColor (ColorName) VALUES ('Red')
SELECT ColorID, ColorName FROM tblColor 


Result:

Kita juga dapat mengubah current identity value untuk menentukan ID berikut nya. Misalnya kita ingin ID berikutnya adalah 25 maka kita ubah current identity menjadi 24 dengan sintaks:
DBCC CHECKIDENT('tblColor',RESEED, 24)
INSERT INTO tblColor (ColorName) VALUES ('Yellow')
SELECT ColorID, ColorName FROM tblColor


Result:


Click here if you like this article.


1 comments:

domtheo said...

hmm lupa-lupa ingat nih buat creat table nya :D

Tangki fiberglass