MS-SQL IDENTITY_INSERT is set to ON/OFF Kullanımı ve Hata Çözümü

MS-SQL IDENTITY_INSERT is set to ON/OFF Kullanımı ve Hata Çözümü

Bazı durumlarda tablodaki identity alanına müdahele etmemiz gerekebilir. Bu durumda ne yapabiliriz onu görelim

Selamlar,

Bu dersimizde insert esnasında identity kolonuna müdahele etmemiz gereken durumlarda ne yapmamız gerekir onu göreceğiz.  Aynı zamanda bu konu karşımızda bir hata olarak da çıkabiliyor. Onunda çözümü olacaktır.

Eğerki insert komutunda identity kolonuna da manuel veri eklemek isterseniz. Şöyle bir hata alacaksınız.

cannot insert explicit value for identity column in table 'XTablosu' when identity_insert is set to off.

Bu hatanın anlamı - identity tanımlanmış kolona veri yazamazsınız. İdentity_insert özelliği kapalı.

Bunun çözümü olarak şu komutu kullanıyoruz.

set identity_insert TabloAdı on
--identity insert özelliğini açtık

--insert komutu


set identity_insert TabloAdı off
--identity insert özelliğini kapattık

Diğer bir çözümü ise identity olan kolonu insert komutu içerisinden çıkartıyoruz :) 

Eğerki bu insert işini benim gibi dinamik olarak yaptırmaya çalışıyorsanız ve identity kolonunuz ilk sırada yani en başta ise kolon adlarını çektiğiniz sorgunun sonuna

and ORDINAL_POSITION > 1
//yada
and IS_NULLABLE = 'YES'
//yada
and COLUMN_NAME not like '%ID%'

gibi şartlar ekleyerek id kolonunuzu insertin dışında bırakabilirsiniz.

Bu dersimizde bu kadar arkadaşlar.

Bol Kodlu Günler.

Mustafa BÜKÜLMEZ
Hazırladığım ve yüklediğim tüm dersleri deneyip çalıştığını onayladıktan sonra ekliyorum. Çalışmayan kodlar deneyimli kişiler için sorun olmayabilir ama yeni başlayanlar için problemdir. Hem yazılıma gönül vermiş sevgili arkadaşlarıma yardımcı olmak hem daha sonra lazım olduğunda arama süremi kısaltmak için paylaşıyorum.. -- *Bilgi paylaştıkça çoğalır. *Bir mum diğer mumu yakmakla ışığından bir şey kaybetmez. Aksine birlikte etrafı daha çok aydınlatırız. -- Lisede Ağ sistemleri ve Yönetimi bölümü Üniversitede de Bilgisayar Programcılığı okudum. Şuanda da Kahramanmaraş'ta olan Gemciler Güven Metal Sanayi ve Ticaret A.Ş firmasında Bilgi İşlem Müdürü olarak çalışmaktayım. Yaptığım işe ek olarak yine Kahramanmaraş'ta olan 1453 Yazılım firmasının kurucu ortaklarından biriyim. ----- Kişisel Bloğum : https://csharpiledundenbugune.blogspot.com.tr/
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git