【问题标题】:SSIS - add upload date column after SSIS uploadSSIS - 在 SSIS 上传后添加上传日期列
【发布时间】:2016-12-14 03:06:00
【问题描述】:

我正在通过 SSIS 包将每日 CSV 文件上传到 SQL Server 表,并且每次都想插入一个日期列来说明上传完成的时间。我正在考虑在使用ALTER TABLE 查询和GETDATE() 的数据流任务之后放置一个执行SQL 任务。

每次我在上传 CSV 数据之前运行 SSIS 包时,之前的数据都会被移动到存档表中,因此每次插入列时都不必担心会覆盖数据。

【问题讨论】:

  • 创建一个不可为空的日期时间列,默认值为GETDATE(),它将自动填充。你绝对不想使用ALTER TABLE - 这是不必要的。
  • 您是否每次都完全重新创建目标表?否则,您应该只需要 ALTER 一次来添加日期列,而不是每次,对吗?

标签: sql-server ssis alter getdate


【解决方案1】:

添加一个将默认约束设置为 GETDATE() 的 DATETIME 列将有助于满足您的要求。

【讨论】:

    【解决方案2】:

    感谢cmets。

    我所做的是放入一个执行 SQL 任务并使用代码

    UPDATE [dbo].[CM25_Current] SET [Upload Date] = (GETDATE());
    

    【讨论】:

    • 您在 cmets 中尝试过我的建议了吗?如果您使用默认值,则该字段会自动填充,并且不需要 UPDATE。我强烈建议将此应用于所有导入和暂存表。
    • 我在这里参加聚会很晚了,但值得指出的是,如果您要附加到具有现有行的表,那么在列上设置默认值将不起作用,并且您可以't 虚拟化旧数据的默认插入日期。我正在尝试自己解决这个问题,并且希望看到一个不涉及架构更改的 SSDT 派生解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 2018-01-18
    • 2014-03-09
    • 2018-04-28
    • 2016-04-15
    • 1970-01-01
    相关资源
    最近更新 更多