码迷,mamicode.com
首页 > 数据库 > 详细

TSql Top 用法

时间:2015-06-03 21:15:17      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

第一部分:TSql Top 有两种用法

1,限制查询结果集返回的行数或总行数的百分比。 

  当将 TOP 与 ORDER BY 子句结合使用时,结果集限制为前 N 个已排序行;否则,以未定义的顺序返回前 N 个行。

2,限制 INSERT、UPDATE、MERGE 或 DELETE 语句影响的行数。

第二部分:讨论top的第二种用法

1,示例代码如下

create table dbo.FinanceMonth
(MonthNum int ,
quantity int
)

;with cte as
(
    select 1 as MonthNum,100 as quantity
    union all
    select MonthNum+1,quantity+100
    from cte
    where MonthNum<12
)
insert into dbo.FinanceMonth
select *
from cte

2,使用 SET ROWCOUNT 限制返回的行数,但是MS不推荐使用这种方式,“在 SQL Server 的将来版本中,使用 SET ROWCOUNT 将不会影响 DELETE、INSERT 和 UPDATE 语句”。

SET ROWCOUNT 2

select *
from dbo.FinanceMonth

--等价于

select top 2 *
from dbo.FinanceMonth

取消限制,将 SET ROWCOUNT 指定为 0

SET ROWCOUNT 0

3,使用top限制DELETE、INSERT 和 UPDATE影响的行数,top后面的数字或百分数必须加上小括号,否则出错。

delete top (2)
from dbo.FinanceMonth

update top(2) dbo.FinanceMonth
set quantity=1

insert top(2) into  dbo.FinanceMonth
select * from dbo.FinanceMonth

 

TSql Top 用法

标签:

原文地址:http://www.cnblogs.com/ljhdo/p/4533385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!