13 Şubat 2017

Oracle'da Temp Tablo Oluşturmak ve Silmek (Temporary Table)

Oracle'da Temp Tablo Oluşturmak ve Silmek (Temporary Table)

Temporary Tables, Geçici tablolar bir transaction veya session süresince ara sonuç kümeleri saklayan tablolardır. Buna ihtiyaç duymamızın sebebi Data testi yaparken tablo birleştirme işlemlerinden sonra dönen sonuç üzerinde çalışacaksak, gerçek Datanın bozulmaması için Datayı geçici bir tabloda tutarız ve işimiz bitince bu tabloyu sileriz.

Örnek olarak aşağıdaki komutu çalıştırdık ve istediğimiz verileri çektik;

SELECT EMP.EMPLOYEE_ID, EMP.FIRST_NAME, EMP.LAST_NAME, DP.DEPARTMENT_NAME
FROM HR.EMPLOYEES EMP LEFT JOIN HR.DEPARTMENTS DP
ON DP.DEPARTMENT_ID = EMP.DEPARTMENT_ID
WHERE DEPARTMENT_NAME = 'Shipping'

Şimdi bu verileri TESTTABLE adında geçici bir tabloya atalım;

CREATE GLOBAL TEMPORARY TABLE TESTTABLE
ON COMMIT PRESERVE ROWS
AS
SELECT EMP.EMPLOYEE_ID, EMP.FIRST_NAME, EMP.LAST_NAME, DP.DEPARTMENT_NAME
FROM HR.EMPLOYEES EMP LEFT JOIN HR.DEPARTMENTS DP
ON DP.DEPARTMENT_ID = EMP.DEPARTMENT_ID
WHERE DEPARTMENT_NAME = 'Shipping'

Oluşturduğumuz geçici tabloyu görmek için;
SELECT * FROM TESTTABLE

Tabloyu silmek için öncelikle TRUNCATE komutu ile tablo içindeki verileri boşaltmamız gerek;
TRUNCATE TABLE TESTTABLE

Şimdi tabloyu DROP komutu ile kalıcı olarak silebiliriz;
DROP TABLE TESTTABLE