【问题标题】:Add Datetime Stamp Column to End Destination Table using SSIS Package使用 SSIS 包将日期时间戳列添加到最终目标表
【发布时间】:2020-06-10 19:21:33
【问题描述】:

我有一个 SSIS 包,可将 CSV 文件导入数据库,并且在将新行附加到表底部并且目标中没有 datetime 列时,该包将每天运行表。

我想要做的是在目标表中创建一个新的date/timestamp,并且每次加载数据时我都希望该表反映来自数据库Timestamp的加载时间。

我不确定如何实现这一目标。

【问题讨论】:

    标签: sql-server datetime ssis timestamp etl


    【解决方案1】:

    如果您将插入标记添加到默认为 getdate 的表中,数据库将为您处理:

    alter table destionationtable add [InsertStamp] [DATETIME]  NOT NULL CONSTRAINT [DF_Insert]  DEFAULT (GETDATE())
    

    【讨论】:

      【解决方案2】:

      更改您的目标表以包含新列,并使用您选择的日期时间函数的默认值。

      ALTER TABLE DataDest
      ADD CreateDate DATETIME 
      CONSTRAINT DF_DataDest_CreateDate DEFAULT (GETDATE());
      

      在您的包中,您可能需要打开数据流中的目标对象以获取表的新元数据,然后您必须单击“映射”选项卡,因为 SSIS 必须是像那样。新列应该会显示在那里,但您不需要对它做任何事情,只要确保 SSIS 知道它就在那里。

      在您的插入操作期间,SSIS 不会加载该列,并且将为您填充当前日期时间的默认值。

      【讨论】:

        猜你喜欢
        • 2011-09-02
        • 2018-05-05
        • 2016-08-13
        • 2021-12-03
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多