日期:2014-05-18  浏览次数:20451 次

MSSQL的rowcount问题
declare   @count   int  
declare   @tmp   varchar(100)
SET   @count   =   10
SET   ROWCOUNT   @count
SELECT   @tmp=EmployeeID   FROM   Employees
print   @tmp

我的意思想得到第10条记录的EmployeeID值,并赋值给@tmp,一定要用到rowcount关键字,希望高手不吝赐教!我在线等着!

------解决方案--------------------

use pubs
go
declare @count int
declare @tmp varchar(100)
SET @count = 10
SET ROWCOUNT @count
SELECT @tmp=emp_id FROM employee
print @tmp

---
F-C16315M

------解决方案--------------------
rowcount 和 top n 可以說是一樣的,但SELECT @tmp=emp_id FROM employee這樣是
取不到第10條emp_id的值的.個人認為要借用臨時表,不知大家有沒有其它辦法


declare @count int
declare @tmp varchar(100)
SET @count =5
SET ROWCOUNT @count
select id=identity(int,1,1), * into #t from employee
select @tmp=(select top 1 emp_id from #t order by id desc )
print @tmp

----------
L-B31947F
------解决方案--------------------
你的写法貌似没问题,不知你是取不到纪录还是取不到你想要的第10条纪录,如果是后者,看看是否和你未指定排序字段有关。