Provided by:
manpages-tr_1.0.5.1-1.1_all 
İ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