我需要创建一个SQL JOB.
步骤1:
在TaskToProcess表中插入一行并返回ProcessID(PK和身份)
第2步:
返回在step1中生成的ProcessID,并将值传递给SSIS包并执行SSIS包.
这在SQL服务器JOB中是否可能?
请帮帮我
提前致谢.
最佳答案 没有在作业步骤之间传递变量值的内置方法.但是,有几种解决方法.
一种选择是在步骤1结束时将值存储在表中,并在步骤2中从数据库中查询它.
听起来您通过插入表并返回插入行的SCOPE_IDENTITY()来生成ProcessID.如果作业步骤1是插入此表的唯一进程,则可以使用IDENT_CURRENT('<tablename>')
函数从作业2中检索最后插入的值.
编辑
如果多个进程可以插入到您的过程控制表中,最好的解决方案可能是将步骤1和2重构为一个步骤 – 可能使用控制SSIS主包(或其他等效技术),它可以在步骤之间传递变量.