【问题标题】:Generating Primary Key with Non-Zero Index (SSIS Data Flow)使用非零索引生成主键(SSIS 数据流)
【发布时间】:2009-08-12 15:54:43
【问题描述】:

我有一个数据流任务,它需要一对表,将相关数据混合在一起,然后将一些结果放入索引表中。索引表已经有我没有摆脱的数据,为了简单起见,应该保留它们现有的键。因此,我需要生成一个从列中已有的最高主键值开始的键。

我发现a blog post 在从任何已知值开始时都可以使用,但是此数据流最终将用于不同的数据库,因此该值不会保持不变。不过,它始终是列的最大值,但我找不到使用那里建议的脚本组件来获取该值的方法。

【问题讨论】:

  • 您为什么不使用标识列有什么原因吗?
  • 原来我误解了脚本的一些限制;在迈克的评论和睡觉之间,我很好地度过了。

标签: sql-server visual-studio ssis


【解决方案1】:

众所周知,这类事情在 SSIS 中很难做到,这就是我试图避免它的原因。您需要:

...振作起来...

-在你的 SSIS 包中创建一个变量来保存起始值

-创建一个 SQL 任务,其参数映射到该变量,输出方向和查询类似于“SET ? = (SELECT MAX(IDValue) FROM Table)” - 问号是参数的占位符映射到变量

-将变量用于您的数据流 - 可能使用派生列转换

我希望这会有所帮助...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    相关资源
    最近更新 更多