2014-11-03 73 views
1

創建視圖我在有訪問數據文件多次給定日期範圍的時刻寫的代碼。我想知道是否有可能建立一個我的表的「視圖」,讓從代碼開始單刪除(不影響下面的表格),這樣的日期範圍將始終貫穿碼應用在紅移

因此,在一個簡單的例子改變從代碼...

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

你可以做的是執行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