10 Temmuz 2009 Cuma

Oracle da kolonlar üzerinde default değer tanımlamak.

Kullandığımız bazı tablolarda yaptığımız işin gerekliliğine göre kolonlarda default değer kullanmamız gerekebilir. Özellikle tablo üzerinde kayıdın insert edildiği tarihi alan bir kolon olması tablo üzerinde history tutmak için çok faydalı olabilir.
Böyle bir yapı normalde insert edildikten sonra bir trigger tetiklenerek de yapılabilirdi fakat daha kısa ve kolay bir çözümü default değerleri kullanmak.

Örneğin bir mesajlar tablomuz olsun ve içerisinde mesaj_id, gonderen_id, alan_id, konu, mesaj_icerigi, gonderme_tarihi alanlarımız olsun.

DROP TABLE MESAJLAR CASCADE CONSTRAINTS;

CREATE TABLE MESAJLAR
(
MESAJ_ID NUMBER NOT NULL,
GONDEREN_ID NUMBER NOT NULL,
ALAN_ID NUMBER NOT NULL,
KONU VARCHAR2(50 BYTE) NOT NULL,
MESAJ_ICERIGI VARCHAR2(200 BYTE) NOT NULL,
GONDERME_TARIHI DATE DEFAULT sysdate NOT NULL
)

Burada gonderme_tarihi alanına eklediğimiz default değer sayesinde tabloya her kayıt yapıldığında sistem zamanı default olarak yazılacaktır.


Oracle, assigning default values to columns example code.

Hiç yorum yok:

Yorum Gönder

Popüler Yayınlar