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

İSİM

       CREATE TABLE AS - bir sorgunun sonuçlarından yeni bir tablo tanımlar

KULLANIM

       CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE tablo_ismi
           [ (sütun_ismi [, ...] ) ] [ [ WITH | WITHOUT ] OIDS ]
           AS sorgu

AÇIKLAMA

       CREATE TABLE AS bir tablo oluşturur ve bir SELECT cümlesi ile ya da hazırlanmış bir SELECT
       cümlesini çalıştıran bir EXECUTE  komutu  ile  hesaplanan  veriyi  kullanarak  bu  tabloyu
       doldurur.  Tablonun  sütunları  için  SELECT  çıktısındaki  veri türleri ve sütun isimleri
       (sütun isimleri listesi açıkça belirtilmedikçe) kullanılır.

       CREATE TABLE AS tabloyu bir sanal tablo oluşturur gibi oluşturur, ama  bunu  biraz  farklı
       yapar:  yeni  bir  tablo oluşturduktan sonra tabloyu doldurmak için sorguyu bir defalığına
       işleme sokar. Yeni  tablo,  sorgulanan  kaynak  tabloda  sonradan  yapılan  değişiklikleri
       izlemeyecektir.  Bir sanal tabloda ise her sorgulanışında kendini oluşturan SELECT cümlesi
       yeniden işleme sokulur.

PARAMETRELER

       GLOBAL veya LOCAL
              Uyumluluk  içindirler  ve  yoksayılırlar.  Ayıntılı   bilgi   için   CREATE   TABLE
              [create_table(7)] kılavuz sayfasına bakınız.

       TEMPORARY veya TEMP
              Belirtilmişse,  tablo  bir  geçici  tablo  olarak  oluşturulur. Ayıntılı bilgi için
              CREATE TABLE [create_table(7)] kılavuz sayfasına bakınız.

       tablo_ismi
              Oluşturulacak tablonun ismi (şema nitelemeli olabilir).

       sütun_ismi
              Yeni  tablodaki  bir  sütunun  ismi.  Eğer  sütun  isimleri  verilmezse,   sorgunun
              çıktısındaki   sütun  isimleri  kullanılır.  Eğer  tablo  bir  EXECUTE  komutu  ile
              oluşturuluyorsa, bir sütun listesi belirtilemez.

       WITH OIDS, WITHOUT OIDS
              Oluşturulan tablonun nesne kimliklerini içerip içermeyeceğini belirtirler. Bunların
              hiçbiri   belirtilmezse,   default_with_oids    yapılandırma   değişkeninin  değeri
              kullanılır.

       sorgu  Bir sorgu cümlesi (bir SELECT  cümlesi  ya  da  hazırlanmış  bir  SELECT  cümlesini
              çalıştıran  bir  EXECUTE  komutu).  Sorgu  cümlesinde kullanılabilecek sözdizimleri
              için, SELECT [select(7)] ve EXECUTE [execute(7)] kılavuz sayfalarına bakınız.

EK BİLGİ

       Bu komut, işlevsellik bakımından SELECT  INTO  [select_into(7)]  cümlesine  benzer,  fakat
       sözdizimi  SELECT  INTO  sözdiziminden  daha az karışık olduğundan bu komut tercih edilir.
       Dahası, CREATE TABLE AS,  SELECT INTO işlevselliğini daha üst seviyeden sunar.

       PostgreSQL 8.0 öncesinde, CREATE TABLE AS'in oluşturduğu tablo  nesne  kimliklerini  daima
       içerirdi.   PostgreSQL  8.0  sürümünden  itibaren  kullanıcı  oluşturulan  tablonun  nesne
       kimliklerini   içerip   içermeyeceğini   belirtebilmektedir.   Eğer   kullanıcı   seçimini
       belirtmezse, default_with_oids  yapılandırma değişkeninin değeri kullanılır. Bu değişkenin
       şimdilik öntanımlı değeri true olmasına rağmen öntanımlı değer  ileride  değiştirilebilir.
       Bu  bakımdan,  uygulamalarınızda CREATE TABLE AS ile tablo oluşturuyorsanız, PostgreSQL'in
       ileri sürümlerindeki olası değişikliklerden etkilenmemek için WITH OIDS seçeneğini  açıkça
       belirtmelisiniz.

ÖRNEKLER

       filmler tablosundan sadece son girdileri alarak son_filmler tablosunu oluşturmak için:

           CREATE TABLE son_filmler AS
             SELECT * FROM filmler WHERE tarih >= '2002-01-01';

UYUMLULUK

       CREATE  TABLE  AS  SQL:2003  standardında  belirtilmiştir. Komutun PostgreSQL gerçeklemesi
       standarttan biraz farklıdır:

       ·  Standart  altsorgunun  parantez  içine   alınmasını   gerektirir,   PostgreSQL'de   ise
          parantezler isteğe bağlıdır.

       ·  Standart bir ON COMMIT deyimi içerir; PostgreSQL'de bu henüz gerçeklenmemiştir.

       ·  Standart bir WITH DATA  deyimi içerir; PostgreSQL'de bu henüz gerçeklenmemiştir.

İLGİLİ BELGELER

       CREATE  TABLE  [create_table(7)],  EXECUTE  [execute(7)],  SELECT [select(7)], SELECT INTO
       [select_into(7)].

ÇEVİREN

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