Oca 12, 2018
647 Görüntülenme

SQL Server Default Constraint Kullanımı

Yazarı

Herkese merhaba,

Bu yazıda sizlere SQL Server’da Default Constraint kullanımından bahsedeceğim.

SQL Server’da Default Constraint’ler bir sütuna veri eklenmemesi durumunda otomatik olarak varsayılan bir değer eklenmesini sağlayan yapıdır. Konu hakkındaki örneği aşağıda görebilirsiniz.

--Tablo oluşturulması
CREATE TABLE Kitaplar 
(
KitapID int,
KitapAdi NVARCHAR(200),
BasimYili int DEFAULT 1987
)

--Veri eklenmesi (Basim yılı kısmı boş geçildi.)
INSERT INTO dbo.Kitaplar
        ( KitapID, KitapAdi )
VALUES  ( 1, -- KitapID - int
          N'SQL Server Eğitimleri' -- KitapAdi - nvarchar(200)
            -- BasimYili - int
          )

--Kitapların listelenmesi
SELECT * FROM dbo.Kitaplar

Burada yıl bilgisi girmediğimiz için default olarak bir değer atadı.

Daha önceden oluşturulmuş fakat default constraint eklenmemiş bir tabloya default constraint eklemek için ise aşağıdaki kod bloğunu inceleyelim.

--Tablo oluşturulması
CREATE TABLE Kitaplar 
(
KitapID int,
KitapAdi NVARCHAR(200),
BasimYili int 
)

--Veri eklenmesi (Basim yılı kısmı boş geçildi.)
INSERT INTO dbo.Kitaplar
        ( KitapID, KitapAdi )
VALUES  ( 1, -- KitapID - int
          N'SQL Server Eğitimleri' -- KitapAdi - nvarchar(200)
            -- BasimYili - int
          )

--Kitapların listelenmesi (NULL olarak gözüktü.)
SELECT * FROM dbo.Kitaplar

--Constraint ekleme işlemi yapıyoruz.

ALTER TABLE Kitaplar
ADD CONSTRAINT DK_BasimYili DEFAULT 1987 FOR BasimYili

--Veri ekleme işlemi

INSERT INTO dbo.Kitaplar
        ( KitapID, KitapAdi )
VALUES  ( 2, -- KitapID - int
          N'SQL Server Eğitimleri Kitabı (Yeni)' -- KitapAdi - nvarchar(200)
            -- BasimYili - int
          )

--Kitapların listelenmesi 
SELECT * FROM dbo.Kitaplar

İlk başta tablomuzda default constraint yoktu. Sonrasında tablomuza yukarıdaki gibi eklemiş olduk.

Peki var olan bir default constraint nasıl kaldırılır. Bu işlem ile ilgili kodu aşağıda görmektesiniz. Fakat burada dikkat edilmesi gereken bir kısım var o da default constraint oluştururken isim vermeniz gerekliliği.

--Tablo oluşturulması
CREATE TABLE Kitaplar 
(
KitapID int,
KitapAdi NVARCHAR(200),
BasimYili INT CONSTRAINT DC_BasimYili default 1987

)

--Veri eklenmesi (Basim yılı kısmı boş geçildi.)
INSERT INTO dbo.Kitaplar
        ( KitapID, KitapAdi )
VALUES  ( 1, -- KitapID - int
          N'SQL Server Eğitimleri' -- KitapAdi - nvarchar(200)
            -- BasimYili - int
          )

--Kitapların listelenmesi
SELECT * FROM dbo.Kitaplar


--Drop edilmesi işlemi

ALTER TABLE Kitaplar DROP CONSTRAINT DC_BasimYili

INSERT INTO dbo.Kitaplar
        ( KitapID, KitapAdi )
VALUES  ( 2, -- KitapID - int
          N'SQL Server Eğitimleri Yenisi' -- KitapAdi - nvarchar(200)
            -- BasimYili - int
          )

--Kitapların listelenmesi
SELECT * FROM dbo.Kitaplar

Burada DC_BasimYili isimli default constraint bu şekilde tablomuzdan kaldırılmış oldu.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

Makale kategorileri:
Sql Server · Temel Seviye SQL Server
http://inovatifkimyadergisi.com/

- SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever. - Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever. -WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever. -Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever. Kısaca çok çalışmayı seven, azimli biriyim.

Yorum yap

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

WP Twitter Auto Publish Powered By : XYZScripts.com