在redshift中创建视图

时间:2014-11-03 12:37:26

标签: amazon-redshift

我正在编写代码,必须在给定的日期范围内多次访问事务文件。我想知道是否可以设置我的表的“视图”以允许在代码的开头单个删除(不影响下面的表),以便日期范围将始终应用于整个代码

所以在一个简单的例子中改变代码......

SELECT    SUM(sales)  
FROM      trans_file
WHERE     date_field BETWEEN '2012-01-01' AND '2012-01-31'

对此...

DELETE
FROM    trans_file
WHERE   date_field NOT BETWEEN '2012-01-01' AND '2012-01-31'

SELECT    SUM(sales)  
FROM      trans_file

1 个答案:

答案 0 :(得分:1)

你可以做的是首先执行Deep Copy
多次访问数据,然后删除"视图",如下所示:

CREATE TABLE trans_file_view AS (
    SELECT * FROM trans_file 
    WHERE date_field BETWEEN '2012-01-01' AND '2012-01-31'
);

SELECT SUM(sales) FROM trans_file_view;
...next SELECT statements...

DROP TABLE trans_file_view;

<强>参考书目:
您可以阅读有关Deep Copy

的更多信息