我想让我的消费者指定他们希望在存储过程中返回的行数。我正在寻找模仿这种行为:
SELECT TOP 100 AccountId ,
AccountName
FROM dbo.Account
但以这种方式:
DECLARE @resultCount INT = 100;
SELECT TOP @resultCount AccountId ,
AccountName
FROM dbo.Account
当然,第二个版本会导致“@resultCount 附近的语法不正确”错误。有没有办法做到这一点,而不会分解为包含 SQL 字符串并使用 EXEC?我发现这不是很容易维护。