首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

set 命令有关问题

2012-02-03 
set 命令问题大家观察下面SQL语句:use pubsgo-----1---set rowcount 5select *from authors--------------

set 命令问题

大家观察下面SQL语句:
use pubs
go

-----1---
set rowcount 5
select *
from authors
----------


-----2------
select top 5 * 
from authors
-------------

这两条语句的最终都是返回表authors中的前5条记录;
但问题是运行完第1条语句后 再运行“select * from authors”的时候查出的还是前5条记录,
甚至是其他表或其他数据库中的表 查询出来后也是前5条记录。。。
除非关闭查询分析器的窗口或断开连接才能正常运行。。。

这是为什么呢?
怎么才能关闭set命令。。。



[解决办法]
use pubs 
go 

-----1--- 
set rowcount 5 
select * 
from authors 
---------- 


-----2------ 
select top 5 *
from authors 
------------- 
set rowcount 0

select * from authors
[解决办法]
SET ROWCOUNT
使 Microsoft® SQL Server? 在返回指定的行数之后停止处理查询。 

语法
SET ROWCOUNT { number | @number_var } 

参数
number | @number_var

是在停止给定查询之前要处理的行数(整数)。

注释
建议将当前使用 SET ROWCOUNT 的 DELETE、INSERT 和 UPDATE 语句重新编写为使用 TOP 语法。有关更多信息,请参见 DELETE、INSERT 或 UPDATE。

对于在远程表和本地及远程分区视图上执行的 INSERT、UPDATE 和 DELETE 语句,忽略 SET ROWCOUNT 选项设置。

若要关闭该选项(以便返回所有的行),请将 SET ROWCOUNT 指定为 0。

热点排行