2016-07-07 89 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中运行以改变表的定义。这不是你每次都作为脚本运行的东西。 –