欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

setRowCount与topn

程序员文章站 2024-02-04 15:22:22
...

有的时候,使用top n中的n是一个变量,那就需要用()来完成: declare @count1 intset @count1 = 8select top strong(@count1)/strong * from MyTable 如果用set RowCount一样可以达到相同的效果 declare @count1 intset @count1 = 8 set RowCount @count1s

有的时候,使用top n中的n是一个变量,那就需要用()来完成:

	declare @count1 int
	set @count1 = 8
	select top (@count1) * from MyTable

如果用set RowCount一样可以达到相同的效果

	declare @count1 int
	set @count1 = 8
        set RowCount @count1
	select * from MyTable

但注意,使用set RowCount有副作用的,一旦设置了,对于后面的语句都会影响到,而且SQL Server在后续的版本中对此有更改,所以要小心使用。
重要提示:
在 SQL Server 的下一个版本中,使用 SET ROWCOUNT 将不会影响 DELETE、INSERT 和 UPDATE 语句。在新的开发工作中,避免将 SET ROWCOUNT 语句与 DELETE、INSERT 和 UPDATE 语句一起使用,并计划修改当前使用该语句的应用程序。另外,对于当前使用 SET ROWCOUNT 的 DELETE、INSERT 和 UPDATE 语句,建议您使用 TOP 语法重写它们。有关详细信息,请参阅 DELETE (Transact-SQL)、INSERT (Transact-SQL) 或 UPDATE (Transact-SQL)。