Teradata表类型2024 年 8 月 29 日 | 4 分钟阅读 Teradata支持以下类型的表来保存临时数据。 序号。 | 表类型 | 描述 |
---|
1 | ANSI时态表 | 符合ANSI标准的时态表支持。 使用时态表,Teradata数据库可以处理包含基于时间的推理的语句和查询。 时态表记录系统时间(信息记录在数据库中的时间)和有效时间(信息在现实世界应用程序中生效或正确的时间)。 | 2 | 派生表 | 派生表是一种临时表,它从一个或多个其他表获得,作为子查询的结果。 它在SQL SELECT语句中指定。 它避免了使用CREATE和DROP TABLE语句来存储检索到的信息的需求。 当我们有更复杂和复杂的查询代码时,它很有用。 | 3 | 错误日志 | 错误日志表存储有关相关永久表上的错误的信息。 它还存储有关插入和更新错误的日志信息。 | 4 | 全局临时表 | 全局临时表对会话是私有的。 它在会话结束时自动删除。 它在数据字典中存储了一个持久的表定义。 保存的描述可以由多个用户和会话共享,每个会话获得其表的实例。 | 5 | 全局临时跟踪表 | 全局临时跟踪表存储会话长度的跟踪输出。 它在数据字典中存储了一个持久的表定义。 它对于调试SQL存储过程(通过调用写入跟踪输出的外部存储过程)和外部例程(UDF,UDM和外部存储过程)非常有用。 | 6 | NoPI表 | NoPI表是没有在其上定义主索引的永久表。 当用作从FastLoad或TPump Array INSERT加载数据的暂存表时,它们提供性能优势。 它们可以在其上定义二级索引,以避免在行访问期间进行全表扫描。 | 7 | 永久 | 永久表允许不同的会话和用户共享表内容。 | 8 | Queue | 队列表是具有时间戳列的永久表。 时间戳指示每行插入到表中的时间。 它建立了表内容的先进先出(FIFO)排序,这是需要事件处理的客户应用程序所必需的。 | 9 | Volatile | 仅在以下情况下才使用易失表- 一个会话需要该表。
- 创建者需要访问该表。
- 我们想要比全局临时表更好的性能。
- 会话结束后,我们不需要表定义。
注意:如果易失表的定义包含在宏中,则可以在系统重新启动后继续存在。 |
派生表派生表在查询中创建、使用和删除。 它们用于在查询中存储中间结果。 示例 考虑以下以两个表形式存在的员工记录。 员工表 Employee_Id(员工编号) | 名字 | 姓氏 | 部门编号 |
---|
202001 | 迈克 | Richard | 1 | 202002 | Robert | 威廉姆斯 | 2 | 202003 | 彼得 | 科林 | 2 | 202004 | Alexa | 斯图尔特 | 1 | 202005 | Robert | 彼得森 | 1 |
薪资表 Employee_Id(员工编号) | 名字 | 姓氏 | 部门编号 |
---|
202001 | 40,000 | 4,000 | 36,000 | 202002 | 80,000 | 6,000 | 74,000 | 202003 | 90,000 | 7,000 | 83,000 | 202004 | 75,000 | 5,000 | 70,000 | 202005 | 80,000 | 00 | 80,000 |
以下查询创建一个派生表EmpSal,其中包含薪水高于80,000的员工的记录。 当执行以上查询时,它将返回薪水高于或等于80,000的员工的记录。 Employee_Id First_Name NetPay
202003 Peter 83,000
202005 Robert 80,000
易失表易失表在用户会话中创建和删除。 它们的定义未存储在数据字典中。 它们保存查询的中间数据,这些数据经常使用。 语法 示例 在以下示例中,我们创建一个名为dept_stat的VOLATILE表。 执行以上代码后,它将返回输出中根据部门的最小,平均和最大薪资。 Dept_no avg_salary max_salary min_salary
1 186,000 80,000 36,000
2 157,000 83,000 74,000
全局临时表全局临时表的定义存储在数据字典中,它们可以被许多用户和会话使用。 但是,加载到全局临时表中的数据仅在会话期间保留。 每个会话最多可以实现2000个全局临时表。 语法 以下是全局临时表的语法。 示例 以下查询创建全局临时表,例如 当执行以上查询时,它将返回以下输出。 A table has been created.
|