Teradata - типы таблиц

Teradata поддерживает следующие типы таблиц для хранения временных данных.

  • Производная таблица
  • Неустойчивый стол
  • Глобальная временная таблица

Производная таблица

Производные таблицы создаются, используются и удаляются в запросе. Они используются для хранения промежуточных результатов в запросе.

пример

В следующем примере создается производная таблица EmpSal с записями сотрудников с зарплатой более 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;

Когда вышеуказанный запрос выполняется, он возвращает сотрудников с зарплатой выше 75000.

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

Неустойчивый стол

Изменяемые таблицы создаются, используются и удаляются в рамках сеанса пользователя. Их определение не хранится в словаре данных. Они содержат промежуточные данные часто используемого запроса. Ниже приводится синтаксис.

Синтаксис

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

пример

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;

Когда вышеуказанный запрос выполняется, он дает следующий результат.

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

Глобальная временная таблица

Определение глобальной временной таблицы хранится в словаре данных и может использоваться многими пользователями / сеансами. Но данные, загруженные в глобальную временную таблицу, сохраняются только во время сеанса. Вы можете материализовать до 2000 глобальных временных таблиц за сеанс. Ниже приводится синтаксис.

Синтаксис

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

пример

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

Когда вышеуказанный запрос выполняется, он дает следующий результат.

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