【发布时间】:2009-10-31 20:46:22
【问题描述】:
我正在尝试创建一个使用
的存储过程从 tblRecords 中选择 TOP 20 * ....
我希望将返回的行数作为参数发送到过程。
由于某种原因,它说我使用的参数附近有语法错误:
从 tblRecords 中选择 TOP @PARAM ....
有没有直接的方法,或者我需要使用字符串连接构造语句并执行它....
【问题讨论】:
标签: sql stored-procedures parameters
我正在尝试创建一个使用
的存储过程从 tblRecords 中选择 TOP 20 * ....
我希望将返回的行数作为参数发送到过程。
由于某种原因,它说我使用的参数附近有语法错误:
从 tblRecords 中选择 TOP @PARAM ....
有没有直接的方法,或者我需要使用字符串连接构造语句并执行它....
【问题讨论】:
标签: sql stored-procedures parameters
试试:
SELECT TOP (@PARAM) * from tblRecords ....
MSDN 建议始终使用括号,支持它但不向后兼容:
【讨论】:
在存储过程中,在进行选择之前,发出:
SET ROWCOUNT @param
这会将返回的行数限制为@param。
查询后,设置回0:
SET ROWCOUNT 0
【讨论】: