我有一个非常简单的SQL Data Flow Task
包来执行查询并删除结果。
当查询中没有结果时,有没有办法让我的包失败?我尝试添加Execute SQL Task
来获得结果Count,但是当结果Count = 0时,我不确定如何使其失败。
答案 0 :(得分:1)
像这样的SQL应该这样做:
DECLARE @CNT INT;
SELECT @CNT = COUNT(*) FROM Table;
IF @CNT = 0 RAISERROR('Error',17,1);
答案 1 :(得分:0)
您可以使用脚本任务来实现此目的:
Execute SQL Task
将结果Count存储在包变量 首先,您必须将变量添加到脚本ReadOnly Variables
假设变量名称为@[User::Variable]
Public Sub Main()
If Dts.Variables.Item("User::Variable").Value = 0 Then
Dts.TaskResult = ScriptResults.Failure
Else
Dts.TaskResult = ScriptResults.Success
End If
End Sub