Oracle Geçici Tablo Oluştur

Oracle Gecici Tablo Olustur



Global geçici tablolar, yalnızca bir işlem veya oturum süresi için gerekli olan geçici verileri depolarken faydalıdır. Normal tablolardan farklı olarak, oturum veya işlem sona erdiğinde genel geçici tablolar otomatik olarak bırakılır. Bu nedenle, normal tablolar gibi açıkça bırakılmaları gerekmez. Ancak, genel geçici tablolar yalnızca geçerli oturum tarafından görülebilir, bu nedenle diğer oturumlar veya kullanıcılar bunlara erişemez.

Oracle'da global geçici tablo, 'genel geçici tablo oluştur' ifadesi kullanılarak oluşturulan özel bir tablo türüdür. Bu ifade, normal 'tablo oluştur' ifadesine benzer, ancak tablonun genel bir geçici tablo olduğunu belirtmek için 'global temporary' anahtar kelimesini içerir.







“CREATE GLOBAL TEPORARY TABLE” ifadesinin sözdizimi aşağıdaki gibidir:



GLOBAL GEÇİCİ TABLO OLUŞTUR tablo_adı (
sütun1 veri türü [BOŞ | GEÇERSİZ DEĞİL],
sütun2 veri türü [BOŞ | GEÇERSİZ DEĞİL],
...
) [İŞLEMDE {SİL | KORU} SATIR];

Bu sözdiziminde tablo_adı, oluşturmak istediğiniz genel geçici tablonun adıdır. sütun1, sütun2 vb., tablodaki sütunların adları ve veri türleridir.



ON COMMIT yan tümcesi, geçerli işlem yapıldığında tablodaki satırların silinip silinmeyeceğini veya korunacağını belirtir. ON COMMIT yan tümcesi tanımlanmamışsa, veritabanı altyapısı ON COMMIT DELETE ROWS seçeneğini kullanacaktır.





Belirtildiği gibi, geçici bir tablodaki verilerin özel olduğunu unutmayın. Bu, tabloyu oluşturandan başka hiçbir oturumun tabloya erişemeyeceği anlamına gelir.

Global Geçici Tablo Örneği Oluşturma

Oracle veritabanlarında geçici tablo oluştur deyiminin kullanımına ilişkin bazı pratik örnekleri keşfedelim.



Aşağıda gösterilen örnek sorguyu göz önünde bulundurun:

GLOBAL GEÇİCİ TABLO OLUŞTUR temp_sales (
product_id SAYI(10) BOŞ DEĞİL,
satış_tarihi TARİH BOŞ DEĞİL,
satış_amount SAYI(10,2) BOŞ DEĞİL
) KOMİTE SİLME SATIRLARINDA;

Yukarıdaki örnekte, ON COMMIT DELETE ROWS seçeneğini kullanarak geçici bir tablo oluşturuyoruz.

Daha sonra bazı örnek verileri şu şekilde ekleyebiliriz:

TEMP_SALES'E EKLEYİN (product_id, sale_date, sale_amount) DEĞERLER (1, DATE '2022-10-01', 100);
TEMP_SALES (product_id, sale_date, sale_amount) DEĞERLERİNE EKLEYİN (2, DATE '2022-10-02', 500);
TEMP_SALES (product_id, sale_date, sale_amount) DEĞERLERİNE EKLEYİN (3, DATE '2022-10-03', 130);

Bundan sonra, işlemi şu şekilde gerçekleştirebilirsiniz:

İŞLEMEK;

Taahhüt ettikten sonra, veritabanı motoru, taahhüt yan tümcesinde belirtildiği gibi geçici tablodaki tüm verileri kesecektir.

Örnek 2

Aşağıdaki örnek, taahhütte satırları koruyan bir tablonun nasıl oluşturulacağını gösterir:

GLOBAL GEÇİCİ TABLO OLUŞTUR temp_sales (
product_id SAYI(10) BOŞ DEĞİL,
sale_date TARİH BOŞ DEĞİL,
satış_amount SAYI(10,2) BOŞ DEĞİL
) COMMIT KORUMA SATIRLARINDA ;

Daha sonra örnek satırlar ekleyebilir ve gösterildiği gibi işleyebiliriz:

TEMP_SALES'E EKLEYİN (product_id, sale_date, sale_amount) DEĞERLER (1, DATE '2022-10-01', 100);
TEMP_SALES (product_id, sale_date, sale_amount) DEĞERLERİNE EKLEYİN (2, DATE '2022-10-02', 500);
TEMP_SALES (product_id, sale_date, sale_amount) DEĞERLERİNE EKLEYİN (3, DATE '2022-10-03', 130);

İŞLEMEK;

Bu durumda, aşağıdaki select ifadesinde gösterildiği gibi, taahhüt işleminden sonra veriler korunmalıdır:

TEMP_SALES'TEN * SEÇİN;

Çıktı:

Çözüm

'Geçici tablo oluştur' ifadesi, Oracle'da geçici tablolar oluşturmak için güçlü bir araçtır. Geçici tablolar, yalnızca bir işlem veya oturum için gereken geçici verileri depolamak için kullanışlıdır. 'Geçici tablo oluştur' ifadesi, geçici tablonun yapısını ve sütunlarını tanımlamanıza ve işlem yapıldığında satırların nasıl işleneceğini belirlemenize olanak tanır. Sonuç olarak, geçici tabloların kullanılması, sorgularınızın ve uygulamalarınızın performansını ve verimliliğini artırabilir ve veritabanınızda gereken kalıcı depolama alanı miktarını azaltabilir.