当前位置: 首页 > 面试题库 >

SQL中“行行计数”的范围

左恺
2023-03-14
问题内容

我在存储过程中使用“设置RowCount”。我有一个问题,Set RowCount的范围是什么?考虑以下SP

 CREATE PROC Test
    AS 
        BEGIN

            SET ROWCOUNT 10
            ...........

            SET ROWCOUNT 0

        END


CREATE PROC Test2
AS 
    BEGIN


        ...........

        SET ROWCOUNT 0

    END


CREATE PROC Test3
AS 
    BEGIN

        SET ROWCOUNT 10
        ...........


    END


CREATE PROC Test4
AS 
    BEGIN

        SET ROWCOUNT 10
        SET ROWCOUNT 5
        ...........
        SET ROWCOUNT 0

    END

现在在上面的SP中,您必须看到我的SetRowcount语句不匹配。所以我的问题是,如果我忘记在开头的“ Set RowCount N”语句中添加“ Set
RowCount 0”,该怎么办?需要吗?这会影响我的应用程序中其余SP的执行吗?


问题答案:

据我所知,与注释中链接的问题所接受的答案相反,我所看到的范围规则与#temp表可见性完全相同。它传播到子批次,但是当批次退出时,它将重置为先前的值。

CREATE PROC #bar
AS
SELECT * FROM sys.objects
EXEC ('SELECT * FROM sys.objects')
GO

CREATE PROC #foo
AS
SET ROWCOUNT 1

EXEC #bar
GO

SET ROWCOUNT 4
EXEC #foo /*Returns 2 resultsets with 1 row*/
EXEC #bar /*Returns 2 resultsets with 4 rows*/

DROP PROC #foo
DROP PROC #bar


 类似资料:
  • 问题内容: 我有一张table,上面有所有学生的评分。我正在尝试获得范围内所有学生的人数,例如 0-9 =学生人数9 , 10 -19 =学生人数0 ,依此类推,最多100。 另外,如果有一些机构可以指出关于 案例陈述 的不错的教程,那将是非常好的 给出的答案很好。 但我的范围是固定的。如果没有申请人,我也必须显示0。 这是我的问题的主要区别。就像我也显示了类别。 问题答案: 您不需要声明。您可以

  • 问题内容: 想象一下下表(称为): 我想要一个按日期顺序返回运行总计的查询,例如: 我知道在SQL Server 2000/2005/2008中可以通过多种方式进行此操作。 我对使用aggregating-set-statement技巧的这种方法特别感兴趣: …这是非常有效的,但是我听说周围存在一些问题,因为您不一定能保证该语句将以正确的顺序处理行。也许我们可以获得有关该问题的明确答案。 但是,人

  • 问题内容: 我正在尝试创建一个简单的图像库,每页显示16张图像。我使用LIMIT 16在页面上显示正确的数量,但是如果行数超过16,我想在底部显示链接,以允许用户导航到下一页。 我知道我可以通过删除限制并简单地使用循环来显示前16个项目来达到期望的结果,但是这样效率很低。显然,COUNTING行数总是= 16。 有人可以建议一种更有效的方法吗? 谢谢 问题答案: 除了要获取其他人都提到的计数的单独

  • 问题内容: 我有这样的文件: 是否可以按日期查询最近10天发布的文档数量?例如: 问题答案: 是的,您可以使用聚合轻松实现这一点,如下所示:

  • 问题内容: 在这里,最低年龄是10岁,因此我们首先计算范围10-15。该范围内有5个学生。对于第二个范围,我们需要找到年龄> 15(即18)。因此,第二个范围是18-23,依此类推。如果能自动计算范围并计算该范围内的数据,我将不胜感激。 问题答案: 您可以在SUM()语句中使用条件来获取该条件所在的计数。我会计算年龄在BETWEEN()必要范围内的条件。试试这个: 这只会返回一行,但是它将包含您需

  • 问题内容: 我在Java中使用spark,并且具有500万行的RDD。有没有一种解决方案可以让我计算RDD的行数。我已经尝试过,但是要花很多时间。我已经知道我可以使用该功能。但是我没有找到此功能的Java文档。您能否请教我如何使用它,或给我另一个解决方案以获取RDD的行数。 这是我的代码: 谢谢。 问题答案: 您有一个正确的想法:用于计算行数。没有更快的方法。 我认为您应该问的问题是 为什么这么慢