可能重复:
SQL Server - use a parameter to select the top X of the result set
我在存储过程中的查询类似于:
select top 9 from my_table;
我想编辑存储过程以从参数动态生成限制,然而,这似乎不起作用:
ALTER PROCEDURE [dbo].[my_stored_procedure]
@n INT(2)
AS
BEGIN
SELECT TOP @n from my_table;
这可行吗?或者我必须做一些类似这样的事情:
@n int(2),
@sql varchar(30)
@sql = 'select top ' + @n '* from my table';
exec(@sql);
谢谢。
发布于 2012-01-06 22:12:32
您必须将参数括在括号中,如下所示:
DECLARE @QQ INT = 10
SELECT TOP (@QQ)
*
FROM Your_Table
https://stackoverflow.com/questions/8759030
复制相似问题