在SSIS 2012中,我对表达式任务和变量"表达式"之间的差异感到困惑。属性。有什么区别?我想将变量@Now
设置为等效的T-SQL GETDATE()
函数。我假设唯一的区别是Expression Task只设置变量值一次,而每次访问变量时都会执行变量的Expression属性。因此,每次使用变量时,当前日期和时间的Expression属性都会更改。
答案 0 :(得分:1)
在这两种方法中都可以实现许多任务,但假设您必须在特定任务之后或在特定条件下(可能与其他任务相关)更改变量值(当任务时)成功,将变量值设置为1
),在这种情况下,表达式属性无法实现您的目标,因此您必须使用表达式任务。
此外,在您的情况下,假设您要在for-each循环容器(在每个循环中)内将@Now
变量设置为GETDATE()
,因此变量表达式属性可能无法正常运行>(它将在程序包执行时设置一次),您需要一个表达式任务。