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

PostgreSQL                                                                                    CREATE TABLE AS(7)