2016-07-07 97 views
0

我有一張表格,我們每天都會添加數據。源表沒有日期列,我在新表中創建了一個日期列,以便我們可以使用select convert(date,getdate())語句跟蹤每天從源表添加的數據。每天刷新數據的更新列

如何從舊列(沒有日期列)將新日期插入到新表中,以便每天將正確的日期添加到新表中。例如:

SRC table: data added on 01/01/2016 
A B C 
1 2 3 

SRC table: data added on 01/02/2016 
A B C 
4 5 6 

SRC table: data added on 01/03/2016 
A B C 
7 8 9 

New Table: 
A B C Date 
1 2 3 2016-01-01 
4 5 6 2016-01-02 
7 8 9 2016-01-03 

回答

0

您可以嘗試類似這樣的操作,它會爲日期列設置默認值。這意味着只要您添加行,日期列將搭載當前日期: -

alter table [New Table] 
add constraint defaultvalue 
default (convert(date,getdate())) for [date] 

你也可以通過直接更改「默認值或綁定」在SSMS可視化表設計器屬性做到這一點。

+0

謝謝。我是否需要在ssis包中添加append語句,以便它告訴sql開始從最後一行插入記錄,還是默認這樣做?例如,在第二天,當我嘗試插入記錄4,5,6時,我應該讓sql任務在ssis包中獨立運行,而不是在開頭添加聲明? –

+0

這隻適用於新記錄。您必須在自己添加此約束之前填充所有內容。 –

+0

只是讓我的頭再次....我提供的SQL腳本是你應該在SSMS中運行以改變表的定義。這不是你每次都作爲腳本運行的東西。 –