Teradata - typy tabel

Teradata obsługuje następujące typy tabel do przechowywania danych tymczasowych.

  • Tabela pochodna
  • Volatile Table
  • Globalna tabela tymczasowa

Tabela pochodna

Tabele pochodne są tworzone, używane i upuszczane w zapytaniu. Służą do przechowywania wyników pośrednich w zapytaniu.

Przykład

Poniższy przykład tworzy tabelę pochodną EmpSal z rekordami pracowników z wynagrodzeniem powyżej 75000.

SELECT 
Emp.EmployeeNo, 
Emp.FirstName, 
Empsal.NetPay 
FROM 
Employee Emp, 
(select EmployeeNo , NetPay 
from Salary
where NetPay >= 75000) Empsal 
where Emp.EmployeeNo = Empsal.EmployeeNo;

Po wykonaniu powyższego zapytania zwraca pracowników z wynagrodzeniem powyżej 75000.

*** Query completed. One row found. 3 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo            FirstName               NetPay 
-----------  ------------------------------  ----------- 
    103                  Peter                 83000

Volatile Table

Tabele niestabilne są tworzone, używane i usuwane w ramach sesji użytkownika. Ich definicja nie jest przechowywana w słowniku danych. Przechowują dane pośrednie zapytania, które jest często używane. Poniżej znajduje się składnia.

Składnia

CREATE [SET|MULTISET] VOALTILE TABLE tablename 
<table definitions> 
<column definitions> 
<index definitions> 
ON COMMIT [DELETE|PRESERVE] ROWS

Przykład

CREATE VOLATILE TABLE dept_stat ( 
   dept_no INTEGER, 
   avg_salary INTEGER, 
   max_salary INTEGER, 
   min_salary INTEGER 
) 
PRIMARY INDEX(dept_no) 
ON COMMIT PRESERVE ROWS;

Kiedy powyższe zapytanie jest wykonywane, generuje następujące dane wyjściowe.

*** Table has been created. 
*** Total elapsed time was 1 second.

Globalna tabela tymczasowa

Definicja tabeli Global Temporary jest przechowywana w słowniku danych i może być używana przez wielu użytkowników / sesje. Ale dane załadowane do globalnej tabeli tymczasowej są zachowywane tylko podczas sesji. Możesz zmaterializować do 2000 globalnych tabel tymczasowych na sesję. Poniżej znajduje się składnia.

Składnia

CREATE [SET|MULTISET] GLOBAL TEMPORARY TABLE tablename 
<table definitions> 
<column definitions> 
<index definitions>

Przykład

CREATE SET GLOBAL TEMPORARY TABLE dept_stat ( 
   dept_no INTEGER, 
   avg_salary INTEGER, 
   max_salary INTEGER, 
   min_salary INTEGER 
) 
PRIMARY INDEX(dept_no);

Kiedy powyższe zapytanie jest wykonywane, generuje następujące dane wyjściowe.

*** Table has been created. 
*** Total elapsed time was 1 second.