1

我将针对我的默认本地 SQL Server 实例的执行 SQL 任务从 OLE DB 更改为 ODBC。SQL是

delete from tablename

ODBC 版本在表有记录时工作正常,但在表为空时失败。

我考虑过使用另一个 SQL 任务的结果集来填充一个变量,但这不起作用。阅读这篇 SO 文章Delete statement failed when called from SSIS确定了问题的根源(ODBC 版本),但它仍然没有提供答案。其他网络文章建议没有解决方法。

是否有任何其他方法或方法仅在表不为空时有条件地调用删除?

4

1 回答 1

0

我突然想到只使用 T-SQL 来解决问题。我使用了一个工作正常的 T-SQL 条件语句。无论表是否为空,ODBC SQL 任务都会成功。

if 0 < (select count(1) from tablename)
delete from tablename
于 2022-01-31T00:57:35.440 回答