2015-02-24 86 views
0

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

这是我的代码来创建临时表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; 

不返回任何结果?我对全球临时表的理解错过了什么?

+0

我在评论,因为我不确定您的答案,但是您是否在创建表格后尝试写入“INSERT”命令?也许表创建只定义模式...(插入hihihi SEL * FROM db.a_permanent_table;) – ChrisCamp 2015-02-24 15:50:46

回答

1

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

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

+0

希望文档更好我猜。 – xiaodai 2015-02-24 22:54:53