我想让我的消费者指定他们希望在存储过程中返回的行数。我想模仿这种行为:
SELECT TOP 100 AccountId ,
AccountName
FROM dbo.Account
但是以这种方式:
DECLARE @resultCount INT = 100;
SELECT TOP @resultCount AccountId ,
AccountName
FROM dbo.Account
当然,第二个版本会导致“@resultCount 附近的语法不正确”错误。有没有一种方法可以在不分解为连接 SQL 字符串和使用 EXEC 的情况下执行此操作?我发现这不是很容易维护。
最佳答案
在 @resultCount
周围添加括号 (
)
:
DECLARE @resultCount INT = 100;
SELECT TOP (@resultCount) AccountId ,
AccountName
FROM dbo.Account
关于sql - 所需的结果行数作为存储过程中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15100573/