İ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