在创建一个包时,我需要帮助,它可以遍历给定服务器中的数据库,查找包含单词“EventLog”的表名,并删除超过一年的所有行。删除应批次为50000。
我能够使用Execute SQL任务读取数据库名称,将完整的结果集存储在一个对象类型变量中,并用于每个循环容器来读取变量的结果,并需要那里的帮助。
发布于 2017-06-17 22:43:23
如果单个数据库中可能包含“EventLog”一词的多个表,则需要为父容器内的每个表(每个表)添加一个附加项。使用父容器和当前容器中的变量在其中为每个容器构建一个动态删除语句。
您的包应该非常类似于此:
控制流

包变量

将日期筛选器添加到“delete_log_records_sql”变量中
获取数据库名称-执行SQL

获取DB名称-将结果分配给对象

Foreach DB - DB名称对象Var映射

Foreach DB - DB名称集合Var映射

获取表名-执行SQL

获取表名-将结果分配给对象

Foreach表-表名对象Var映射

Foreach表-表名集合Var映射

删除日志记录-执行SQL

https://stackoverflow.com/questions/44448558
复制相似问题