我有这个存储过程,它返回包含指定关键字的记录。
CREATE procedure [dbo].[SearchKeywordPaged](
@KeyWordFilter varchar(50)
,@PageNumber int = 1)
as
begin
declare @PageSize int = 50
declare @FirstRow int
declare @LastRow int
declare @TotalRows int
SELECT @FirstRow = (@PageNumber - 1) * @PageSize + 1,
@LastRow = (@PageNumber - 1) * @PageSize + @PageSize;
select @TotalRows = COUNT(*) from
[Quotes] q inner join [Keywords] k
ON q.id = k.Quoteid where k.Keyword = @KeyWordFilter;
with Results as
(
SELECT
q.*
,ROW_NUMBER() over (Order By Author asc) as Instance_Count
,@TotalRows as the_Count
FROM [Quotes] q
INNER JOIN [Keywords] k ON q.id = k.Quoteid
WHERE k.Keyword = @KeyWordFilter
)
select *
from results
where Instance_Count between @FirstRow and @LastRow
order by Instance_Count asc
end
如何修改此存储过程以接受超过 1 个关键字进行搜索?