-1
我想返回总量和页数。如何使用sp_executesql从SQL Server返回两个OUT参数
我要回页页次int和总金额为十进制
@SQL = 'select cast (row_number() over(ORDER BY |SortedColumn| |SortedOrder|) as int)NO , * into #table From (Select SPM.Id as Id,SPM.SalePrice As PlanAmount,SPM.CreatedDate as CreatedDate,SPM.ExpertId as ExpertUserProfileId,P.Id as PatientId,ISNULL((P.FirstName +'' '' + P.LastName),'''') as PatientName
from SubscribedPlanByMember SPM
JOIN Patient P ON
P.UserProfileId=SPM.MemberId
) SP Where 1=1 '
+ @Where +
' select @x = CEILING(CAST((CAST(@@rowcount AS FLOAT)/ CAST('+ltrim(@PageSize)+' AS FLOAT)) AS FLOAT))
select * from #table as t where NO between '+ltrim(@[email protected]+1)+' and '+ltrim(@PageIndex)+' '
SET @TotalAmount= CAST((select Sum(SalePrice) as Amount from SubscriptionPlanOfExperts where [email protected]) as decimal)
SET @SQL= REPLACE(@SQL, '|SortedColumn|', @sortedColumn);
SET @SQL= REPLACE(@SQL, '|SortedOrder|', @sortedOrder);
print(@SQL)
exec sp_executesql @SQL, N'@x int out', @PageCount out
请在所有相关代码的例。你的变量在哪里定义和设置? –
也许做一个INSERT INTO #TempTable EXEC(@SQL),并将输出值作为SELECT从动态块中返回。然后在#TempTable –
中使用2x值执行任何操作您可以从sp_executesql返回多个输出参数。请参阅MSDN https://msdn.microsoft.com/en-us/library/ms188001.aspx – Alex