【发布时间】:2015-04-16 21:49:41
【问题描述】:
我正在使用 ssis 包将数据从 csv 平面文件插入到 sql 表中。我在目标表中添加了一个名为 GUID 的新列。每次包运行时,我都需要为所有行插入相同的 guid。问题是它会为每一行生成新的 guid。
【问题讨论】:
-
目标表的定义是什么?最重要的是 GUID 的列名和类型,包括列的默认定义。
-
我添加了一个数据类型为 uniqueidentifier 的列名 GUID。如果将默认值设置为 newid(),每行将获得不同的 guid。我试图在包运行时为所有行设置相同的 guid。当包在不同时间运行时,它应该为所有行生成一个新的 guid。有可能吗?
-
我会在 SSIS 包中生成一次 GUID 并附加到每一行。然后你每次都会插入相同的值。
-
有可能,是的。您需要在包中执行一个额外的步骤来生成 RunID(执行 SQL 并将结果放入变量中),然后,当您插入数据时(无论您如何操作),将 RunID 变量作为选择作为 GUID 列的值的参数。
标签: sql sql-server ssis