SQL Server’da Identity Kolonu Değeri Nasıl Resetlenir?
Herkese merhaba,
Bu yazıda SQL Server’da Identity kolonu değerinin nasıl resetleneceği hakkında bilgi vermeye çalışacağım.
SQL Server’da Identity kolonu değerinin düzenli bir şekilde artmasını isteriz. Artmadığı durumlarda düzeltmek de isteyebiliriz.
Aşağıdaki örnek bunun nasıl düzeltilebileceğini içermektedir.
İlk olarak tabloları oluşturup verileri ekleyelim.
--Tablo oluşturulması
CREATE TABLE Calisanlar
(
ID INT IDENTITY(1, 1),
Ad VARCHAR(5)
);
--Tabloya veri eklenmesi
INSERT INTO Calisanlar
(
Ad
)
VALUES
('Yavuz');
INSERT INTO Calisanlar
(
Ad
)
VALUES
('Hasan Ali');
--Tablonun kontrol edilmesi
SELECT * FROM dbo.Calisanlar
Kodları çalıştırdığınızda aşağıdaki sonucu göreceksiniz.
Görüldüğü üzere String or binary data would be truncated hatası verdi ve bir satır ekleme yapmadı. Çünkü biz VARCHAR(5) olarak kolonu belirtmiştik.
Peki yeni bir satır ekleyelim.
--Yeni bir satır ekleyelim.
INSERT INTO Calisanlar(Ad)
VALUES ('Okan')
--Tablonun kontrol edilmesi
SELECT * FROM Calisanlar
Kodu çalıştırdığınızda aşağıdaki sonucu göreceksiniz.
Gördüğünüz üzere bir önceki işlemde ekleme yapıldığında hata oluştuğundan dolayı yeni bir satır ekleme işleminde tablo ID değeri 3’den başlamış oldu. Düzeltmek için ilk olarak 3 numaralı ID’yi silip sonrasında aşağıdaki işlemleri yapalım.
--3 numaralı ID'nin silinmesi
DELETE FROM Calisanlar WHERE ID=3
--DBCC CHECKIDENT Kullanımı
DBCC CHECKIDENT ('Calisanlar', RESEED, 1)
--Satır eklenmesi
INSERT INTO dbo.Calisanlar(Ad)
VALUES ('Okan')
--Tablonun kontrol edilmesi
SELECT * FROM Calisanlar
Görüldüğü üzere DBCC CHECKIDENT komutunu kullanarak ID değerimizin tekrar düzenli bir şekilde artmasını sağladık.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.