0

ストアド プロシージャにパラメーターを渡したいが、複数の値を持ち、それを 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 条件に挿入せずに選択する必要があります。

4

0 に答える 0