我想讓我的客戶指定他們希望在存儲過程中返回的行數。我在尋找模仿這種行爲:所需結果行數作爲存儲過程中的參數
SELECT TOP 100 AccountId ,
AccountName
FROM dbo.Account
但是以這種方式:
DECLARE @resultCount INT = 100;
SELECT TOP @resultCount AccountId ,
AccountName
FROM dbo.Account
當然第2個版本將導致錯誤「近@resultCount不正確的語法」。有沒有辦法做到這一點,而不打破SQL字符串並使用EXEC?我覺得這不是很好維護。
左右'@ resultCount'只要把括號:'SELECT TOP(@resultCount)ACCOUNTID ...' – 2013-02-26 22:26:09
我相信方法你想避免的是唯一可以工作的人。 – 2013-02-26 22:26:13
http://msdn.microsoft.com/en-us/library/ms189463.aspx – xQbert 2013-02-26 22:27:00