Teradata创建全局临时表

时间:2015-02-24 01:47:52

标签: sql teradata

在Teradata中,我想创建一个全局临时表,然后在其他查询中引用此全局表。我不想创建一个易失性表,因为我通过另一个前端使用Teradata,并且前端必须能够判断临时表是否存在,因此不能选择volatile表,因为它不是存在于数据字典中。

这是我创建临时表hihihi的代码。

create set global temporary table hihihi as 
(select 
* 
from 
db.a_permanent_table) 
with no data 
on commit preserve rows;

select * from hihihi;

根据我所做的研究,我无法使用

  

带数据

临时表的

选项(例如,见link)。

所以我必须这样做
  

没有数据

选项。我认为它还说当我引用这个临时表时,数据将会实现"。

但是当我按以下方式选择时

select * from hihihi;

什么都没有?我对全球临时表的理解中缺少什么?

1 个答案:

答案 0 :(得分:1)

全局临时表实际上只是表的定义。当用户访问该表时,它仅为该用户具体化。如果另一个用户访问该表,则实现另一个与另一个完全分离的实例。如果访问临时表的第一个语句不是插入(例如select *),则它将没有行。

向下滚动到示例部分here,我认为这应该会有所帮助。