Provided by: manpages-tr_1.0.5.1-1.1_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
           [ (stun_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).

       stun_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