当前位置:Gxlcms > mysql > setRowCount与topn

setRowCount与topn

时间:2021-07-01 10:21:17 帮助过:39人阅读

有的时候,使用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)。

人气教程排行