sql-server - SSIS FOR LOOP 根据 sql 表中的值结束
问题描述
我创建了一个 SSIS 包,它有一个 for 循环。我在 SQL Server 中有一个存储包启动时间的表。以及 Remainging_Time(Minute) 列,它是倒计时(以分钟为单位)值。现在我希望 SSIS For Loop 一直运行到 Remaining_Time(Minute) 值为 0。
图片中的说明:
解决方案
我认为你的问题有两个方面。首先,for 循环将执行一项任务,然后检查 eval 表达式。如果您的计数器实际上只是在跟踪经过的时间,那么您的时间可能会在它执行您分配的任何任务时到期。
如果您不关心该级别的精度,我会将 Remainging_Time 存储为包变量,而不是存储在数据库表中。您可以使用带有表达式的 SQL 任务来更新包变量的值,作为循环中的最后一个任务。除非有一些外部进程正在更新数据库中的该值,否则每次都必须通过循环进行数据库调用是没有意义的......如果是这种情况,那并不是真正的 for 循环,更多的是一个while循环,在这种情况下我会做一个脚本任务而不是一个for循环并处理你想要在那里做的任何事情。
让我知道这是否有意义。如果我对您正在尝试做的事情有更多了解,我可以添加更多详细信息。
推荐阅读
- observable - Rxjava retryWhen 延迟不触发重试
- javascript - 增强 Vanialla JS 功能
- spring-boot - 在 Spring Boot 中模拟存储库并测试一个 REST API
- android - 嗨,我正在尝试从 Firebase 数据库检索数据(特别是图像)到 android,但没有成功
- javascript - Angular - 引导模式数据未更新
- html - 将另一个元素传递给 ng-click
- sql - 客户对购买模式 3 个或更多相同的产品数量
- react-native - 构建 react-native 应用程序时找不到模块'babel/plugin-proposal-nullish-coalescing-operator'
- php - 通过在线服务器 CURL 本地主机
- azure - 发生流量管理器故障转移事件时是否可以启用 Azure Functions?