sql default nedir etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
sql default nedir etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
DEFAULT kriteri ile oluşturduğumuz tabloda bir alanın değeri eğer kullanıcı tarafından boş olarak geçilirse, sistemin o alana otomatik olarak bir değer atamasını sağlayabiliriz. Böylece verilerimizin bütünlüğü sağlanmış olacağı gibi ileride geliştireceğimiz uygulamalarda hata ile karşılaşma ihtimalimizde düşecektir.

DEFAULT Kullanım Biçimi
CREATE TABLE Kargo
(
id int,
adi_soyadi varchar(20) ,
adres varchar(20),
odeme_tipi varchar(25) DEFAULT 'Ücret Alıcı'
)
Yukarıdaki örnekte kargo takibi yapmak üzere Kargo isminde bir tablo oluşturulmuştur. Eğer yeni bir kargo takip kaydı girilirken odeme_tipi bilgisi boş geçilirse otomatik olarak ilgili alana 'Ücret Alıcı' ifadesi yazılacaktır. DEFAULT kriteri ile sadece belirleyeceğimiz bir veri değil, sistem verileride kullanılabilir.
CREATE TABLE Kargo
(
id int,
adi_soyadi varchar(20) ,
adres varchar(20),
kayit_tarihi date DEFAULT getdate()

)
Görüldüğü gibi kayit_tarihi alanına eğer bir değer belirtmezsek, otomatik oalrak günün tarihini atacaktır. Buradaki  getdate() ile günü tarihi bilgisi elde edilmektedir.

Yuakrıdaki örnekler hep yeni bir veritabanı oluşturuken kullanılan örneklerdir. Ancak var olan bir veritabanında bir alanı DEFAULT yapmak istersek ALTER yapısını kullanmamız gerekir.

MySQL veritabanlarında kullanım biçimine örnek:
ALTER TABLE Kargo
ADD odeme_bilgisi SET DEFAULT 'Ücret Alıcı'
SQL Server / MS Acess veritabanlarında kullanım biçimine örnek:
ALTER TABLE Kargo
ADD COLUMN  odeme_bilgisi SET DEFAULT 'Ücret Alıcı'
Oracle  veritabanlarında kullanım biçimine örnek:
ALTER TABLE Kargo
MODIFY odeme_bilgisi DEFAULT 'Ücret Alıcı'


Eğer DEFAULT olarak kriterlendirilmiş alanı normale çevirmek istersek DROP ifadesini kullanmamız gerekir.
 SQL Server / Oracle / MS Acess ortamlarında DEFAULT yapısını kaldırmak:
ALTER TABLE Kargo
ALTER COLUMN odeme_bilgisi DROP DEFAULT
MySQL ortamlarında UNIQUE yapısını kaldırmak:
ALTER TABLE Kargo
ALTER COLUMN odeme_bilgisi DROP DEFAULT

Burada dikkat edilmesi gereken nokta iki tane ALTER ifadesinin kullanılmasıdır. Yani ALTER TABLE Kargo DROP odeme_bilgisi DEFAULT kullanımı yanlış olacaktır. Çünkü normal şartlarda direk olarak DROP yazılırsa belirtilen alan tablodan silinir. Bunun için iki defa ALTER kullanılmıştır.

SQL DEFAULT Kullanımı