我的SSIS包中有一个OLE DB数据源,我想运行此查询:
SELECT * FROM vw_DimWorker WHERE AsOfSourceDtm > ?
并且该变量是DateTime
。该值来自不同的数据源,我只想运行此查询:
SELECT last_update from Last_Updates WHERE table_name = 'worker'
我可以创建源项和sql任务项,但我不知道如何从显示的第二个查询中挂钩日期,以便我可以将它用作第一个查询的变量。
答案 0 :(得分:1)
您可以在包中使用变量。当您运行第一个查询时,结果集=单行/值。然后在第一个查询的结果集选项卡上,设置查询结果以填充变量。
然后在下一个SQL任务中,设置一个参数(SQL任务中的单独选项卡)并将参数设置为刚刚填充的变量。
链接到MSDN中的示例: https://msdn.microsoft.com/en-us/library/ms140355%28v=sql.120%29.aspx?f=255&MSPPError=-2147217396
但这可能是更好的一步一步的指示: https://www.red-gate.com/simple-talk/sql/ssis/passing-variables-to-and-from-an-ssis-task/