Provided by: manpages-tr_1.0.5.1-2_all bug

İSİM

       CREATE VIEW - yeni bir sanal tablo tanımlar

KULLANIM

       CREATE [ OR REPLACE ] VIEW isim [ ( sütun_ismi [, ...] ) ] AS sorgu

AÇIKLAMA

       CREATE  VIEW  bir  sorgudan  yeni  bir  sanal  tablo  tanımlar. Sanal tablo fiziken mevcut
       değildir. Her seferinde sorgu yeniden çalıştırılıp sanal tablo oluşturulur.

       CREATE OR REPLACE VIEW de hemen hemen aynıdır, farklı olarak, aynı isimde bir sanal  tablo
       zaten  varsa,  yeniden  oluşturulur.  Böyle  bir  sanal tabloyu yeni bir sorgudan yeniden,
       sadece aynı sütun isimleri ve veri türleriyle oluşturabilirsiniz.

       CREATE VIEW myschema.myview ... gibi bir şema nitelemeli isim kullanırsanız,  sanal  tablo
       belirtilen  şemada  oluşturulur.  Aksi takdirde, o anki şemada oluşturulur. Sanal tablonun
       ismi aynı şemada bulunan tablo, kayıt listesi, indeks ve sanal tablo  isimlerinden  farklı
       olmalıdır.

PARAMETRELER

       isim   Oluşturulacak sanal tablonun ismi (şema nitelemeli olabilir).

       sütun_ismi
              Sanal  tablonun isteğe bağlı sütun isimleri. Belirtilmezse, sütun isimleri sorgudan
              saptanır.

       sorgu  Sanal  tablonun  satır  ve  sütunlarının  elde  edileceği  sorgu  (bu  bir   SELECT
              cümlesidir).

              Sorgular hakkında bilgi edinmek için SELECT [select(7)] kılavuz sayfasına bakınız.

EK BİLGİ

       Şimdilik,  sanal  tablolar  salt  okunurdur:  sistem, veri girme, veri silme ve güncelleme
       işlemlerine izin vermez. Güncellenebilir bir sanal tabloyu, diğer tablolardaki veri girme,
       veri   silme   veya   güncelleme  işlemlerini  yeniden  yazan  kurallar  oluşturarak  elde
       edebilirsiniz. Daha fazla  bilgi  için  CREATE  RULE  [create_rule(7)]  kılavuz  sayfasına
       bakınız.

       Sanal tabloyu kaldırmak için DROP VIEW kullanın.

       Sanal  tablonun  sütunlarının isim ve veri türlerinin sizin istediğiniz şekilde atanmasını
       sağlamalısınız. Örneğin,

       CREATE VIEW vista AS SELECT 'Hello World';

       şeklinde bir cümle iki bakımdan kötüdür: sütun isimleri için ?column?, sütun veri  türleri
       için   ise   unknown   öntanımlıdır.  Bu  cümleyi  şöyle  yazarsanız,  sanal  tablodan  ne
       isteyeceğinizi de bilirsiniz:

           CREATE VIEW vista AS SELECT text 'Hello World' AS hello;

       Sanal tablonun oluşturulduğu tablolara erişim, sanal tablonun  sahibine  göre  belirlenir.
       Ancak,  sanal  tabloda  çağrılan  işlevler, doğrudan sorgudan çağılmış gibi ele alınır. Bu
       yüzden, sanal tablo kullanıcısının sanal tablo tarafından çağrılan tüm işlevleri çağıracak
       izinlerinin olması gerekir.

ÖRNEKLER

       Tamamı komedi filmlerinden oluşan bir sanal tablonun oluşturulması:

           CREATE VIEW komediler AS
               SELECT *
               FROM filmler
               WHERE cinsi = 'Komedi';

UYUMLULUK

       SQL standardı CREATE VIEW deyimi için bazı ek yetenekler belirtir:

       CREATE VIEW isim [ ( sütun [, ...] ) ]
           AS sorgu
           [ WITH [ CASCADE | LOCAL ] CHECK OPTION ]

       Burada isteğe bağlı deyimler şunlardır:

       CHECK OPTION
              Güncellenebilir  sanal  tablolar yapar. Sanal tablo üzerindeki tüm INSERT ve UPDATE
              komutlarının sanal tablo tanımlama koşullarına uygunluğu sınanacaktır  (yani,  yeni
              verinin  sanal  tablo  üzerinden  görünür olması gerekir). Sınama başarısız olursa,
              güncelleme reddedilecektir.

       LOCAL  Sanal tablonun kendi bütünlüğü sınanır.

       CASCADE
              Sanal tablonun diğer sanal tablolarla bütünlük içinde  olup  olmadığı  sınanır.  Ne
              CASCADE ne de LOCAL belirtilmişse, CASCADE öntanımlıdır.

       CREATE OR REPLACE VIEW ise bir PostgreSQL oluşumudur.

İLGİLİ BELGELER

       DROP VIEW [drop_view(7)].

ÇEVİREN

       Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005