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

ISIM

       CREATE TABLE AS - bir sorgunun sonuclarindan yeni bir tablo tanimlar

KULLANIM

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

A,CIKLAMA

       CREATE  TABLE  AS  bir  tablo olusturur ve bir SELECT cumlesi ile ya da
       hazirlanmis bir SELECT cumlesini  calistiran  bir  EXECUTE  komutu  ile
       hesaplanan  veriyi  kullanarak  bu tabloyu doldurur. Tablonun sutunlari
       icin SELECT ciktisindaki veri turleri ve sutun isimleri (sutun isimleri
       listesi acikca belirtilmedikce) kullanilir.

       CREATE  TABLE  AS tabloyu bir sanal tablo olusturur gibi olusturur, ama
       bunu biraz farkli yapar: yeni bir  tablo  olusturduktan  sonra  tabloyu
       doldurmak  icin  sorguyu  bir  defaligina  isleme  sokar.  Yeni  tablo,
       sorgulanan   kaynak    tabloda    sonradan    yapilan    degisiklikleri
       izlemeyecektir.  Bir  sanal  tabloda  ise  her  sorgulanisinda  kendini
       olusturan SELECT cumlesi yeniden isleme sokulur.

PARAMETRELER

       GLOBAL veya LOCAL
              Uyumluluk  icindirler  ve  yoksayilirlar.  Ayintili  bilgi  icin
              CREATE TABLE [create_table(7)] kilavuz sayfasina bakiniz.

       TEMPORARY veya TEMP
              Belirtilmisse,   tablo  bir  gecici  tablo  olarak  olusturulur.
              Ayintili  bilgi  icin  CREATE  TABLE  [create_table(7)]  kilavuz
              sayfasina bakiniz.

       tablo_ismi
              Olusturulacak tablonun ismi (sema nitelemeli olabilir).

       s"utun_ismi
              Yeni tablodaki bir sutunun ismi. Eger sutun isimleri verilmezse,
              sorgunun ciktisindaki sutun isimleri kullanilir. Eger tablo  bir
              EXECUTE   komutu   ile   olusturuluyorsa,   bir   sutun  listesi
              belirtilemez.

       WITH OIDS, WITHOUT OIDS
              Olusturulan tablonun nesne  kimliklerini  icerip  icermeyecegini
              belirtirler.  Bunlarin  hicbiri belirtilmezse, default_with_oids
              yapilandirma degiskeninin degeri kullanilir.

       sorgu  Bir sorgu cumlesi (bir SELECT  cumlesi  ya  da  hazirlanmis  bir
              SELECT   cumlesini   calistiran   bir   EXECUTE  komutu).  Sorgu
              cumlesinde   kullanilabilecek    sozdizimleri    icin,    SELECT
              [select(7)] ve EXECUTE [execute(7)] kilavuz sayfalarina bakiniz.

EK BILGI

       Bu komut, islevsellik bakimindan SELECT INTO [select_into(7)] cumlesine
       benzer, fakat sozdizimi  SELECT  INTO  sozdiziminden  daha  az  karisik
       oldugundan  bu  komut  tercih edilir.  Dahasi, CREATE TABLE AS,  SELECT
       INTO islevselligini daha ust seviyeden sunar.

       PostgreSQL 8.0 oncesinde, CREATE TABLE AS'in  olusturdugu  tablo  nesne
       kimliklerini   daima   icerirdi.  PostgreSQL  8.0  surumunden  itibaren
       kullanici olusturulan tablonun nesne kimliklerini icerip icermeyecegini
       belirtebilmektedir.     Eger     kullanici     secimini    belirtmezse,
       default_with_oids   yapilandirma  degiskeninin  degeri  kullanilir.  Bu
       degiskenin  simdilik  ontanimli  degeri  true olmasina ragmen ontanimli
       deger ileride degistirilebilir. Bu bakimdan,  uygulamalarinizda  CREATE
       TABLE AS ile tablo olusturuyorsaniz, PostgreSQL'in ileri surumlerindeki
       olasi degisikliklerden etkilenmemek icin WITH  OIDS  secenegini  acikca
       belirtmelisiniz.

"ORNEKLER

       filmler  tablosundan  sadece son girdileri alarak son_filmler tablosunu
       olusturmak icin:

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

UYUMLULUK

       CREATE  TABLE  AS   SQL:2003   standardinda   belirtilmistir.   Komutun
       PostgreSQL gerceklemesi standarttan biraz farklidir:

       .  Standart   altsorgunun   parantez   icine   alinmasini   gerektirir,
          PostgreSQL'de ise parantezler istege baglidir.

       .  Standart  bir  ON  COMMIT  deyimi  icerir;  PostgreSQL'de  bu  henuz
          gerceklenmemistir.

       .  Standart  bir  WITH  DATA   deyimi  icerir;  PostgreSQL'de  bu henuz
          gerceklenmemistir.

ILGILI BELGELER

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

,CEVIREN

       Nilgun Belma Buguner <nilgun (at) belgeler.gen.tr>, Nisan 2005