如何在redshift中创建和调用临时表

use*_*827 6 temp-tables amazon-redshift

我想创建一个临时表并在redshift中调用此临时表?我试过这个,但得到了一条错误信息.

select  top 10 * into #a from public.item_activity where item_act_timestamp < DATEADD(day,-1,getdate());

select * from #a
Run Code Online (Sandbox Code Playgroud)

"错误:42P01:关系"#a"不存在"

San*_*ane 5

请使用以下命令创建表格表:

  CREATE TEMP TABLE temp_table_name ....
Run Code Online (Sandbox Code Playgroud)

完成此操作后,请使用如下所示的select查询

  select * from temp_table_name
Run Code Online (Sandbox Code Playgroud)

临时表仅在创建表的会话期间存在。


小智 5

这个问题也让我烦恼了一段时间,所以尽管这个问题是不久前提出的,但还是发布了解决方案。解决方案在于您使用的工具,在我的例子中是 Aginity,有两种方法可以解决:

  • 一个查询窗口和一个查询会话的临时解决方案:单击“选项”->“当前查询选项”->“在执行之间保持连接打开”复选框
  • 针对所有查询窗口和所有会话的更永久的解决方案:单击“工具”->“选项”->“查询分析器”-> 在“连接处理”下选择“在执行之间保持连接打开”

如果您不使用 Aginity,请在工具中查找类似的设置。

希望我能够帮助别人解决这个问题!