SQL Server-将创建日期添加到列

SQL Server-将创建日期添加到列,sql,sql-server,Sql,Sql Server,如果我在表中插入了几行,然后我想添加CreatedDate列。我通过对其设置默认约束来添加它。已为设置约束后插入的所有行加载Created Date。但是我们如何才能为其他较旧的数据行填充日期呢?您要将什么日期添加到较旧的条目中?他们的创建日期,还是今天的日期?如果您只想添加今天的日期,可以使用GetDate()对所有旧数据行进行更新。您要将什么日期添加到旧条目中?他们的创建日期,还是今天的日期?如果只想添加今天的日期,可以使用GetDate()对所有旧数据行进行更新 但是,我们如何为其他较旧的

如果我在表中插入了几行,然后我想添加
CreatedDate
列。我通过对其设置默认约束来添加它。已为设置约束后插入的所有行加载Created Date。但是我们如何才能为其他较旧的数据行填充日期呢?

您要将什么日期添加到较旧的条目中?他们的创建日期,还是今天的日期?如果您只想添加今天的日期,可以使用GetDate()对所有旧数据行进行更新。

您要将什么日期添加到旧条目中?他们的创建日期,还是今天的日期?如果只想添加今天的日期,可以使用GetDate()对所有旧数据行进行更新

但是,我们如何为其他较旧的数据行填充日期呢

这是不容易实现的,也可能根本不可能实现

如果您碰巧知道输入旧行的时间,则可以通过手动更新查询添加该日期时间

如果需要查找,并且数据库使用事务性备份/恢复模型,则可以购买事务日志读取器,并查看事务日志以查找原始的INSERT命令及其执行时间

如果不能这样做,则无法找到已输入行的原始“创建日期”

但是,我们如何为其他较旧的数据行填充日期呢

这是不容易实现的,也可能根本不可能实现

如果您碰巧知道输入旧行的时间,则可以通过手动更新查询添加该日期时间

如果需要查找,并且数据库使用事务性备份/恢复模型,则可以购买事务日志读取器,并查看事务日志以查找原始的INSERT命令及其执行时间


如果您不能这样做,则无法找到已输入行的原始“创建日期”。

您不能(至少不能自动)。默认约束不会回溯并找到某种方法来获取插入该行的日期。因为您不知道前几行是何时插入的。。。您可以使用带有单个日期的UPDATE语句强制某个日期,或者您想要的任何类似方法。您不能(至少不能自动执行)。默认约束不会回溯并找到某种方法来获取插入该行的日期。因为您不知道前几行是何时插入的。。。您可以使用带有单个日期的UPDATE语句或任何类似方法强制日期。是的,我应该看到“他们的创建日期”当前表中是否有显示该日期的位置?是的,我应该看到“他们的创建日期”当前表中是否有显示该日期的位置?