Teradata数据库调研及迁移KADB建议(八)

  • Teradata表

表类型

类型Teradata支持不同类型的表。

  1. 永久表 - 这是默认表,它包含用户插入的数据并永久存储数据。
  2. 易失性表 - 插入到易失性表中的数据仅在用户会话期间保留。在会话结束时删除表和数据。这些表主要用于在数据变换期间保存中间数据。
  3. 全局临时表 - 全局临时表的定义是持久的,但是在用户会话结束时删除表中的数据。

Global Temporary Table的定义存储在数据字典中,并且它们可以被许多用户/会话使用。 但是加载到Global Temporary Table中的数据仅在会话期间保留。 每个会话最多可以实现2000个Global Temporary Table

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);

  1. 派生表 - 派生表保存查询中的中间结果。它们的生命周期在创建,使用和丢弃它们的查询中。

Teradata支持以下表类型来保存临时数据。

  1. Derived Table
  2. Volatile Table

在用户会话中创建,使用和删除Volatile Table。 它们的定义不存储在数据字典中。 它们保存经常使用的查询的中间数据

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;

  1. Global Temporary Table
  2. Derived Table:Derived Table在查询中创建,使用和删除。这些用于在查询中存储中间结果。

SELECT

Emp.EmployeeNo,

Emp.FirstName,

Empsal.NetPay

FROM

Employee Emp,

(select EmployeeNo , NetPay

from Salary

where NetPay >= 75000) Empsal

where Emp.EmployeeNo = Empsal.EmployeeNo;

设置与多重集

Teradata基于如何处理重复记录将表分类为SET或MULTISET表。定义为SET表的表不存储重复记录,而MULTISET表可存储重复记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值