【发布时间】:2021-12-28 22:02:20
【问题描述】:
我想使用 SSIS 执行带有 EXIST 子句的查询。
输入是 Excel 文件表和 Azure SQL 表。
目的是在excel文件中获取表格中满足一定条件的行。
在 SSIS 中解决此问题的最佳方法是什么?
我想到的解决方案是在临时 Azure SQL 表中插入 excel 文件行,然后执行 T-SQL 查询,但我想知道是否存在不意味着在数据库中批量插入记录的替代方法
【问题讨论】:
我想使用 SSIS 执行带有 EXIST 子句的查询。
输入是 Excel 文件表和 Azure SQL 表。
目的是在excel文件中获取表格中满足一定条件的行。
在 SSIS 中解决此问题的最佳方法是什么?
我想到的解决方案是在临时 Azure SQL 表中插入 excel 文件行,然后执行 T-SQL 查询,但我想知道是否存在不意味着在数据库中批量插入记录的替代方法
【问题讨论】:
这里有两个选项:
导入所有数据并使用条件拆分来取出不需要的记录。
一个。测试每个行元素是否要排除并映射到任何内容
b.剩下的就是你的好记录
使用 OleDb 连接(到 Excel 源)并在源上编写 SQL 语句以获取所需的记录。假设所有 where 子句都在源代码中。
现在我想多了。我在这里猜测,但我认为您可能想要比较一个值以查看它是否已经存在于数据库中。
对于这种情况... 导入所有数据并使用查找。确保选择不匹配选项。您通常使用这种方法来了解您的行是插入还是更新。缓存选择在这里很重要,但这是另一个话题。
【讨论】: