【问题标题】:Redshift ERROR: relation "Temp table" does not existRedshift 错误:关系“临时表”不存在
【发布时间】: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 仍然返回相同的错误

【问题讨论】:

    标签: postgresql amazon-redshift


    【解决方案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;
      

      【讨论】:

      • 感谢您的回复。通过从临时表中选择尝试仍然相同的错误
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 2013-01-30
      • 1970-01-01
      相关资源
      最近更新 更多