MSSQL IDENTITY_INSERT ile otomatik artan alanlara veri kaydı

MSSQL’de otomatik artan alanlara insert sırasında veri kaydı gerçekleştirmek için IDENTITY_INSERT kodunu kullanmalısınız.

SQLSERVER IDENTITY_INSERT ile otomatik artan alanlara veri kaydı

Şimdi Kullanıcılar adında bir tablo oluşturalım ve id, ad alanlarını tabloya ekleyelim.

Şimdi ise identity_insert ile id alanı identity bir alan olmasına rağmen aşağıdaki gibi bir kullanım ile rahatça insert işlemi yapabilirsiniz.

IDENTUTY_INSERT’ün kullanım zamanına örnek verecek olursak düşününkü yedeğini aldığını 1000’lerce kaydı id adında bir identity alanın değerleriyle beraber insert cümlesi şeklinde aldınız eğer identity_insert kullanmasaydık ya id alanının identity özelliğini geçici olarak kapatacaktık yada insert cümlesinden id alanını ve değerlerini silecektik bunlara gerek olmadan üstte yer alan koddaki gibi basit bir kullanım ile identity alanlar için insert işlemini kolayca yapabilirsiniz.

MSSQL IDENTITY_INSERT ile otomatik artan alanlara veri kaydı
5 (100%) 1 oy

Bunlar da hoşunuza gidebilir...

4 Cevaplar

  1. Muhammet Aytaş dedi ki:

    Murat bey, örnekte yeni oluşturulan bir tabloya uyguladığınızda problem yok.
    Peki ya içerisinde kayıtlar mevcut olan önceden oluşturulmuş bir tabloya uygulamaya kalkarsak.
    Şöyle ki 1 Nolu ID mevcut, ama biz yine de kayıt eklerken ID: 1 yazdık, o zaman sakıncalı olmaz mı?

    • Murat ÖNER dedi ki:

      Burada şöyle bir durum var dediğiniz doğru fakat identity_insert özelliğini geçici olarak kapatıp manuel olarak id değerini girmek istediğiniz alan eğer primary key yada unique key ise o zaman aynı değeri insert etmeye kalksanız hata verecektir herhangi bir key özelliği yoksa o zaman bir risktir, bu durumdada dikkat etmek gerekli.

  2. Fatih dedi ki:

    Murat bey, veri tabanımdaki tabloların hepsinin ID’sine  identity_insert(yes) özelliğini ekliyorum. Programı kapatıp açtığımda, bütün ID’lerimin  identity_insert özelliği NO oluyor. Bu sorunu nasıl çözebilirim.

Bir Cevap Yazın