ストアド プロシージャにパラメーターを渡したいが、複数の値を持ち、それを IN (値) として Where 条件に配置したい
私のSP:
ALTER PROCEDURE [dbo].[GetPoliciesPageWise]
(
@PageIndex INT = 1
,@PageSize INT = 10
,@RecordCount INT OUTPUT
)
AS
BEGIN
SET NOCOUNT ON;
SELECT ROW_NUMBER() OVER
(ORDER BY [ID] ASC)AS RowNumber
,[ID]
,[PolicyNumber]
,[FileName]
,[FileBarcode]
,[BoxBarcode]
,[CityID]
,[DocTypeID]
,[ProdcutType]
,[CategoryID]
,[TotalImages]
,[PIN]
,[PolicyHolder]
,[IDNo]
,[BranchID]
,[IntroducerID]
,[IssueDate]
,[FilePath]
,[BranchName]
,[DocType]
INTO #Results
FROM dbo.Polices
SELECT @RecordCount = COUNT(*)
FROM #Results
SELECT * FROM #Results
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #Results
END
必要なのは、複数のポリシーを渡し、それに基づいて結果をフィルタリングすることです。また、このパラメーターが空の場合はデフォルトとして必要です。 SQL Server 2008 R2 を使用している Where 条件に挿入せずに選択する必要があります。