set RowCount 与 top n

有时,采用top n中间n它是一个变量,这将需要使用()去完成:

	declare @count1 int
	set @count1 = 8
	select top <strong>(@count1)</strong> * 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)。


版权声明:本文博主原创文章,博客,未经同意不得转载。

posted @ 2015-09-28 20:37  mengfanrong  阅读(358)  评论(0编辑  收藏  举报