PostgreSQL Domain Types

İsteğe bağlı bir veri türüdür.

Genel Syntax :

CREATE DOMAIN name [ AS ] data_type
    [ COLLATE collation ]
    [ DEFAULT expression ]
    [ constraint [ ... ] ]

where constraint is:

[ CONSTRAINT constraint_name ]
{ NOT NULL | NULL | CHECK (expression) }

 

Domain Oluşturalım ,

CREATE DOMAIN statu AS integer CHECK (VALUE>0);)

Domain type ‘ımızın 0 dan büyük değer almasını koşul koşarak olusturduk.

Şimdi ise bir tablo açarak bu veri tipini kolona atayalım.

CREATE TABLE personel_detail (id integer,personel_name varchar(100),personel_statu statu);

personel_statu kolonunu yeni olsuturduğumuz domain type ında tanımladık.

Şimdi ise tablomuza data girmeye çalışalım.

işlem A :

INSERT INTO personel_detail VALUES(1,'yusuf kahveci',1);

Yukarıda ki işlem başarılı ile tnaımlandı ve şimdi bunu check etmek için tablomuza select çekiyoruz.

select * from personel_detail;

işlem B :

INSERT INTO personel_detail VALUES(1,'yasar kahveci',-1);

Bu işlem ise hata almakta.

ERROR: value for domain statu violates check constraint “statu_check”

Çünkü statu veri tipimizi oluştururken verdiğimiz type ın şartlarını sağlamamakta tabloya basacağımız veri.

Bu tarz kendi sisteminizde sizin ihtiyaçlarınızı karşılayacak domain type lar oluşturabilirsiniz.

Kolay Gelsin.

 

Leave a Reply

Your email address will not be published. Required fields are marked *