标签: rowcount

SET NOCOUNT OFF或RETURN @@ ROWCOUNT?

我在Sql Server 2008数据库中创建存储过程.我想返回受影响的行数.哪个是更好的选择SET NOCOUNT OFF或RETURN @@ ROWCOUNT?

ALTER PROCEDURE [dbo].[MembersActivateAccount]
    @MemberId uniqueidentifier
AS
BEGIN
    -- Should I use this?
    SET NOCOUNT OFF;

    UPDATE [dbo].Members SET accountActive = 1 WHERE id = @MemberId;
    --Or should I SET NOCOUNT ON and use the following line instead?
    --return @@ROWCOUNT;
END
Run Code Online (Sandbox Code Playgroud)

我知道两者都有效,但这是一个更好的选择,为什么?


经过一番尝试后,我得出的结论是,在存储过程中,SET NOCOUNT默认为OFF.是否可以在我的数据库中更改此行为?

sql t-sql sql-server rowcount nocount

17
推荐指数
2
解决办法
3万
查看次数

SQL Server - 会触发影响@@ Rowcount吗?

我有一个查询,如果存在则执行UPSERT或更新,如果不存在则插入:

update MyTable 
set [Name]=@NewValue 
where ID=@ID

If @@RowCount = 0 
insert into MyTable([Name])
values(@Name)
Run Code Online (Sandbox Code Playgroud)

现在,我想知道是否@@RowCount会受到触发器中执行的查询的影响?让我们在触发器中说:

insert into MyLogs(Description) 
values("Some description...")
Run Code Online (Sandbox Code Playgroud)

如果在我的第一个查询中更新成功,则触发器将运行插入到MyLogs,这将影响行.

sql triggers rowcount

16
推荐指数
1
解决办法
4028
查看次数

使用WHILE循环的SQL Server批量删除不起作用

我有一个非常大的表,所以我使用以下内容删除旧条目:

WHILE (@@ROWCOUNT > 0)
BEGIN
    DELETE TOP (5000) FROM myTable
    WHERE date < 20130103
END
Run Code Online (Sandbox Code Playgroud)

我使用不同的日期运行了几次.有时它工作正常(大约需要20分钟),但有时候查询会立即完成,并且没有删除任何内容.当发生这种情况时,我只是从该表中执行一个简单的SELECT语句,然后再次尝试上面的WHILE语句,然后它就可以了!有谁知道这是为什么?我需要自动执行此查询以定期运行以控制表大小,但我想确保它在运行时实际上正确删除.谢谢.

sql sql-server rowcount

16
推荐指数
4
解决办法
4万
查看次数

Flex - 如何更改打开的DropDownList高度

使用FB4,我想改变一个开放的火花DropDownList的高度.默认情况下,它在滚动前最多显示6个项目.我的下拉列表包含7个项目,因此我想更改打开的下拉列表的高度以适应所有7项而不滚动.作为一种解决方法,我已经改变了项目的字体大小,使它们更小,所有7都适合,但较小的字体看起来不太好.有没有办法改变这个高度?我对Flash很新,所以如果它是一个复杂的解决方案,请详细说明:-).

apache-flex height rowcount drop-down-menu flex-spark

15
推荐指数
3
解决办法
2万
查看次数

以有限(1000行)块的形式移动SQL Server数据

我正在编写一个进程,根据日期时间列归档SQL Server表中的行.我想在X之前移动所有具有日期的行,但问题是每个日期有数百万行,因此对每个日期执行BEGIN TRANSACTION ... INSERT ... DELETE ... COMMIT需要太长时间,并为其他用户锁定数据库.

有没有办法可以用更小的块来做到这一点?也许使用ROWCOUNT或类似的东西?

我原本考虑过这样的事情:

SET ROWCOUNT 1000

DECLARE @RowsLeft DATETIME
DECLARE @ArchiveDate DATETIME

SET @ROWSLEFT = (SELECT TOP 1 dtcol FROM Events WHERE dtcol <= @ArchiveDate)

WHILE @ROWSLEFT IS NOT NULL
BEGIN

    INSERT INTO EventsBackups
    SELECT top 1000 * FROM Events

    DELETE Events

    SET @ROWSLEFT = (SELECT TOP 1 dtcol FROM Events WHERE dtcol <= @ArchiveDate)

END
Run Code Online (Sandbox Code Playgroud)

但后来我意识到我无法保证我删除的行是我刚刚备份的行.或者我可以......?

更新: 我考虑的另一个选择是添加一个步骤:

  1. 将符合我的日期条件的TOP 1000行选入临时表
  2. 开始交易
  3. 从临时表插入存档表
  4. 从源表中删除,连接到每列的临时表
  5. 提交交易
  6. 重复1-5,直到没有符合日期条件的行

有没有人知道这个系列的费用如何与下面讨论的其他一些选项相比较?

详细信息:我正在使用SQL 2005,因为有人问.

sql-server insert rowcount

12
推荐指数
1
解决办法
1万
查看次数

CTE,ROW_NUMBER和ROWCOUNT

我试图返回一个数据页面,并在一个存储过程中的所有数据的行计数,如下所示:

WITH Props AS
(
    SELECT *,
    ROW_NUMBER() OVER (ORDER BY PropertyID) AS RowNumber
    FROM Property
    WHERE PropertyType = @PropertyType AND ...
)   

SELECT * FROM Props 
WHERE RowNumber BETWEEN ((@PageNumber - 1) * @PageSize) + 1 AND (@PageNumber * @PageSize);
Run Code Online (Sandbox Code Playgroud)

我无法返回行计数(最高行号).

我知道这已经讨论过了(我已经看过了: 使用row_number从查询中获取@@ rowcount的有效方法)但是当我在CTE中添加COUNT(x)OVER(PARTITION BY 1)性能降低并且上面的查询通常没有时间需要永远执行.我估计这是因为计算了每一行的数量?我似乎无法在另一个查询中重用CTE.Table Props有100k记录,CTE返回5k记录.

sql sql-server row-number rowcount common-table-expression

11
推荐指数
1
解决办法
4万
查看次数

如何获取ObjectDataSource的行数

大家好

如何获得ObjectDataSouce的行数?

我使用ObjectDataSource和DataList.我希望在ObjectDataSource返回某些行时向用户显示一些东西,例如在标签中.其中一种情况是没有记录.

谢谢 .

c# objectdatasource rowcount

10
推荐指数
3
解决办法
2万
查看次数

mysql UNION结果的行数少于表行数的总和

我正在使用UNION不同的表中的所有名称.
我的表一共有大约10000行.
但查询返回468行!!
我的查询是:

SELECT name FROM `shopping` 
UNION 
SELECT name FROM stores 
UNION 
SELECT name FROM concert 
UNION 
SELECT val AS name FROM event 
UNION 
SELECT name FROM fastfood
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?

mysql union rowcount

10
推荐指数
1
解决办法
2723
查看次数

SQL Alchemy ResultProxy.rowcount不应为零

有没有人知道如何从SQL Alchemy查询ResultProxy对象获取行计数而不循环结果集?ResultProxy.rowcount属性显示0,我希望它的值为2.对于更新,它显示受影响的行数,这是我所期望的.

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine(
    'oracle+cx_oracle://user:pass@host:port/database'
    )

session = sessionmaker(
    bind = engine
    , autocommit = False
    , autoflush = False
    )()

sql_text = u"""
    SELECT 1 AS Val FROM dual UNION ALL
    SELECT 2 AS Val FROM dual
    """

results = session.execute(sql_text)

print '%s rows returned by query...\n' % results.rowcount
print results.keys()

for i in results:
    print repr(i)
Run Code Online (Sandbox Code Playgroud)

输出:

0 rows returned by query...

[u'val']
(1,)
(2,)
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy rowcount

10
推荐指数
1
解决办法
2万
查看次数

计算XCode项目中的总行数

计算Xcode项目中总行数的方法是什么?我可以看到单个文件中的行数,但我需要总结一个项目中的所有行.

xcode rowcount

9
推荐指数
4
解决办法
9999
查看次数