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存储过程中select语句的行数_Sql_Sql Server_Tsql_Sql Server 2012 - Fatal编程技术网

如何获取SQL Server存储过程中select语句的行数

如何获取SQL Server存储过程中select语句的行数,sql,sql-server,tsql,sql-server-2012,Sql,Sql Server,Tsql,Sql Server 2012,我需要在存储过程中获取select语句的行数,如果行数等于0,则只有它将执行下一条语句 select A, B, C from AT where B = 1 如果上面的语句返回任何行,那么它将不会进一步执行,但是如果这个语句没有任何行,那么它将执行下一个语句。我试过用两种方法 @@rowcount-它工作不正常 通过在表中插入select语句来使用temp table获取表的行数,但使用temp table并不是一种优化方法 有什么解决方案吗?如果没有,您可以使用: IF NOT EXIS

我需要在存储过程中获取select语句的行数,如果行数等于0,则只有它将执行下一条语句

select A, B, C 
from AT 
where B = 1
如果上面的语句返回任何行,那么它将不会进一步执行,但是如果这个语句没有任何行,那么它将执行下一个语句。我试过用两种方法

  • @@rowcount
    -它工作不正常
  • 通过在表中插入select语句来使用temp table获取表的行数,但使用temp table并不是一种优化方法

  • 有什么解决方案吗?

    如果没有,您可以使用

    IF NOT EXISTS (select A,B,C from AT where B=1) 
    BEGIN
       -- sth
    END
    


    有没有什么解决方案,比如在不反复访问数据库的情况下进入变量

    编辑:


    @@数据库的ROWCOUNT Globle变量,因此如果在同一数据库的其他sp中处理了任何其他select语句,则它可能返回错误的值

    没有

    返回受上一条语句影响的行数。


    您可以轻松地使用SSM检查它(打开2个选项卡,分别选择其中的1行和2行,然后分别获取@@ROWCOUNT)。

    如果不存在,您可以使用

    IF NOT EXISTS (select A,B,C from AT where B=1) 
    BEGIN
       -- sth
    END
    


    有没有什么解决方案,比如在不反复访问数据库的情况下进入变量

    编辑:


    @@数据库的ROWCOUNT Globle变量,因此如果在同一数据库的其他sp中处理了任何其他select语句,则它可能返回错误的值

    没有

    返回受上一条语句影响的行数。


    您可以轻松地使用SSM检查它(打开两个选项卡,分别选择其中的1行和2行,然后分别获取@@ROWCOUNT).

    是否有类似于进入变量而不反复点击数据库的解决方案………@@ROWCOUNT全局变量用于数据库,因此如果在同一数据中的其他sp中处理任何其他select语句,它可能返回错误的值是否有类似于进入变量而不反复点击数据库的解决方案再次说明………@@ROWCOUNT Globle变量用于数据库,因此如果在同一数据中的其他sp中处理任何其他select语句,则它可能返回错误的值。此问题有任何错误吗?为什么-1:(此问题有任何错误吗?为什么-1:(