我有一个customers表,该表的字段必须使用最近的更改进行更新,并且在同一表中还有一个附加列,用于指定该特定行是否已更新,我有一个过程可以为我做这件事
CustomerID CustomerName Address Updated
1 abc xyz Yes
2 cdb tyy No
如上所示,由于没有与客户端服务器的连接,第二行尚未更新。稍后,当与服务器的连接可用时,我要做的就是将列值更新为空白并运行再次执行该过程,直到该行进行了任何更改。
我必须循环执行此过程,直到更新表中的所有行。 有人可以帮我在SSIS中做到这一点
答案 0 :(得分:0)
以下将允许您的存储过程运行,直到所有行都已更新。需要注意的几个重要事项,如果可能存在一个或多个迭代,其中表中的行将不被更新,则需要添加诸如T-SQL IF
语句之类的条件到第二个“执行SQL任务”进行检查,并相应地为变量分配一个值。另外,参数语法(对参数占位符使用?
)用于OLE DB连接。
EvalExpression
字段中,选择一个int变量并将条件设置为不等于0的变量,即@[User::Count] != 0
select ? = count(*) from dbo.YourTable where Updated != 'Yes'