コンシューマがストアド プロシージャで返される行数を指定できるようにしたいと考えています。私はこの動作を模倣しようとしています:
SELECT TOP 100 AccountId ,
AccountName
FROM dbo.Account
しかし、このように:
DECLARE @resultCount INT = 100;
SELECT TOP @resultCount AccountId ,
AccountName
FROM dbo.Account
もちろん、2 番目のバージョンでは「@resultCount 付近の構文が正しくありません」というエラーが発生します。SQL文字列の連結とEXECの使用に分解せずにこれを行う方法はありますか? 私はそれが非常に維持可能ではないと思います。