SQL Server Veritabanı

SQL Default Constraint Kullanımı

SQL’deki DEFAULT kısıtlaması, tablonun sütununa otomatik bir varsayılan değer eklemek için kullanılır. Varsayılan değer kısıtlaması kullanılmazsa, sütunun değeri NULL olur.

Bu konuyu SQL sunucusundaki varsayılan kısıtlamayla, nasıl kullanılacağı ve varsayılanın ne zaman kullanılacağı ile ilgili örnek ve açıklama ile cevaplayacağız.

Örneğin, SQL veritabanındaki bir tablonun sütunu NULL değerini kabul edebilirse ve tablodaki kaydı doldururken bu sütuna bir değer atamazsak, buna NULL değeri atanır. Aşağıdaki tabloya bakın. Bu sütunu “Evli” veya “Bekar” medeni durumuyla doldurmazsak, KISI tablosunun Sütun Durumu durumu NULL değerine sahip olacaktır.

ID isim evlilikDurum
1 Hayri NULL
2 Ahmet Evli
3 Hüseyin Evli
4 Necati NULL

 

Yukarıdaki tabloyu oluşturmak ve kayıt eklemek için oluşturulması gereken SQL kodu şu şekilde oluşacaktır.

Yukarıdaki gibi oluşturulmuş bir tabloda EVLİ olan kişiler girilirken değer ataması yapılmış olmasına rağmen BEKAR olan kişisel için değer ataması yapılmadığı için bekar olan kişilerin evlilikDurum kısmında NULL değeri görünmektedir.

 SQL Default Değer Atama

Şimdi, tablonun evlilikDurum sütununa varsayılan kısıtlama uygularsak ve bu sütuna bir değer sağlamazsak, varsayılan değer otomatik olarak eklenir. Örneğin, aşağıdaki sorguda KISI tablosunu oluştururken “BELİRTMİYOR” değerine sahip varsayılan kısıtlama uyguladık.

Bu nedenle, bu sütuna kayıt eklenirken ‘EVLİ’ veya ‘BEKAR’ değeri sağlamazsak, varsayılan değer DEFAULTBELİRTMİYOR’  değeri NULL yerine otomatik olarak ayarlanır.

ID isim evlilikDurum
1 Hayri BELİRTMİYOR
2 Ahmet Evli
3 Hüseyin Evli
4 Necati BELİRTMİYOR

 

SQL’de Varsayılan kısıtlama ne zaman kullanılır:

  • Bir tablonun sütununa okunabilir ve anlamlı veriler mi istiyorsunuz?
  • Kullanıcı günlük analizi için satır eklerken günlüğe okunabilir veriler
  • Aynı tarih sütununda otomatik tarih ve saat vb. ayarlamak istiyorsanız, tarih DFAULT GETDATE() tarih gibi

 

SQL’de DEFAULT kısıtlaması Sonradan Nasıl Eklenir?

Kısıtlama olmadan tablo oluşturulduktan sonra ALTER komutu ile sonradaki istenilen alana kısıtlama yapabiliriz. Aşağıda oluşturulan tabloya sonraki ALTER komutu ile DEFAULT kısıtlaması yapılmıştır.

DEFAULT Kısıtlmaması ekleme

SQL’de DEFAULT kısıtlama nasıl kaldırılır?

Bir tablodaki bir sütuna uygulanmış olan varsayılan bir kısıtlamayı bırakmak için. İlk önce tabloyu, ardından sütunu değiştirmeniz ve DROP’u uygulamalıyız.

Yukarıdaki tabloda, Medeni Durumu sütununda varsayılan kısıtlamayı bırakmak istiyorsak, aşağıdaki sorgular (SQL Server ve Oracle) işinizi görecektir.

 

Kaynak:

https://www.interviewsansar.com/2017/02/08/default-constraint-in-sql-example/

Yorum Yap

Yorum yapmak için tıklayın