21 Temmuz 2009 Salı

db2 da kolon bilgilerini (data tipleri, kolon adları, length, scale, null olup olmama durumu) sorgulamak

db2 üzerine aşağıdaki gibi bir sorgu kullanarak kolon bilgilerini sorgulayabilirsiniz. Özellikle dökümantasyon yaparken kullanışlı bir script olacaktır diye düşünüyorum.

Aşağıdaki script ile kolon isimlerini, kolon data tiplerini, uzunluk ve scale, null değer alma bilgilerini select edebilirsiniz.

select
c.colname as "Column Name",
c.typename as "Type Name",
c.length as "Length",
c.scale as "Scale",
c.nulls as "NULL?"
from syscat.columns c
where c.tabname LIKE 'TABLO_ADI'
and tabschema= 'SEMA_ADI';

Sorguyu kendi isteklerinize göre şekillendirmek için select * from syscat.columns; cümlesi ile tüm bilgilere göz atıp istediğiniz filtreyi uygulayabilirsiniz.

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.

Popüler Yayınlar