Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSIS步骤需要计算行数,如果为零,则出错_Sql Server_Ssis - Fatal编程技术网

Sql server SSIS步骤需要计算行数,如果为零,则出错

Sql server SSIS步骤需要计算行数,如果为零,则出错,sql-server,ssis,Sql Server,Ssis,在SSIS包SQL2008 R2中继续之前,我需要检查表是否已填充 我的想法是添加一个executesql任务,并使用CASE语句,但它的格式不正确 CASE WHEN (SELECT COUNT(*) FROM STAGING.dbo.tableX) <1 THEN RaisError('NO ROWS',18,1) ELSE END AS X 这应该很容易,但我遇到了麻烦。 谢谢创建INT类型的变量 2在执行SQL任务上,将结果集设置为单行 3转到“执行SQL任务”上的“结

在SSIS包SQL2008 R2中继续之前,我需要检查表是否已填充

我的想法是添加一个executesql任务,并使用CASE语句,但它的格式不正确

CASE
WHEN (SELECT COUNT(*) FROM STAGING.dbo.tableX) <1
    THEN RaisError('NO ROWS',18,1)
ELSE 
END AS X
这应该很容易,但我遇到了麻烦。
谢谢创建INT类型的变量

2在执行SQL任务上,将结果集设置为单行

3转到“执行SQL任务”上的“结果集”选项卡,并参考在步骤1中创建的变量

4将结果名称设置为0

5将优先约束配置为@VariableName>1这将使包在行计数大于1时进入下一步


您可以更改步骤5中的条件,以便对包执行所需的操作。这只是一个示例。

使用执行SQL任务从表中选择count*,如果结果为0,则可以在优先约束上设置条件。很简单。要以这种方式引发错误,您需要使用IF而不是CASE@rvphx给出了一个很好的建议。@rvphx您能详细介绍一下如何在执行SQL任务中完成这个任务吗?我了解优先级约束,但不知道如何设置条件(如果为0)。@rvphx我想检查数据计数是否为0并阻止进一步执行作业,我已将OLE DB源链接到Excel目标。因为它是数据流进程,所以我不能包含Exe SQL任务块。我们有其他选择吗?