Redshift 错误:关系“临时表”不存在
Posted
技术标签:
【中文标题】Redshift 错误:关系“临时表”不存在【英文标题】:Redshift ERROR: relation "Temp table" does not exist 【发布时间】:2015-11-30 10:38:48 【问题描述】:在 AWS Redshift 下
我创建了一个临时表
select all
*
into temp table #cleaned_fact
from fact_table
limit 100
得到
执行成功
在 0.716 秒内更新了 0 行。
并尝试检查临时表中的数据
select *
from #cleaned_fact
得到错误
错误:关系“#cleaned_fact”不存在
================================================ ======== 更新 1.
小心
临时表仅在您的会话期间存在 您已经创建了表格。
create temp table IF NOT EXISTS #cleaned_fact
(
col1 INT NOT NULL encode delta,
col2 INT NOT NULL encode mostly16,
col3 INT NOT NULL encode runlength,
col4 BIGINT NOT NULL encode mostly32,
);
insert into #cleaned_fact
select *
from fact_channel_posting
limit 100
返回
执行成功
在 3.101 秒内更新了 100 行。
但在另一个会话中 select * from #cleaned_fact 仍然返回相同的错误
【问题讨论】:
【参考方案1】:更新 1 中的策略成功。问题是:
临时表仅在您的会话期间存在 您已经创建了表格。
【讨论】:
【参考方案2】:尝试用这种方式创建临时表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(create_definition,...)]
[table_options]
select_statement
CREATE TEMPORARY TABLE IF NOT EXISTS mytable
(id int(11) NOT NULL, PRIMARY KEY (id)) ENGINE=MyISAM;
INSERT IGNORE INTO mytable SELECT id FROM table WHERE xyz;
【讨论】:
感谢您的回复。通过从临时表中选择尝试仍然相同的错误以上是关于Redshift 错误:关系“临时表”不存在的主要内容,如果未能解决你的问题,请参考以下文章