Redshift 错误:关系“临时表”不存在

问题描述 投票:0回答:3

在 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 仍然返回相同的错误

postgresql amazon-redshift
3个回答
1
投票

尝试用这种方式创建临时表

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;

1
投票

更新1中的策略成功了。问题是:

临时表仅在会话期间存在,使用该表 您已创建表格。


0
投票

Redshift 临时表仅存在于一个会话中。一旦会话超时,除了重新创建它之外没有其他选择。

© www.soinside.com 2019 - 2024. All rights reserved.