SQL Server Default Constraint Kullanımı

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.

939 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!