gpt4 book ai didi

sql-server - 如何从 EXEC sp_executeSql 中选择?

转载 作者:行者123 更新时间:2023-12-01 19:44:59 25 4
gpt4 key购买 nike

我的存储过程:

    @currPage int,
@recodperpage int,
@name varchar(20) = NULL,
@type varchar(50) = NULL,
@size varchar(50) = NULL,
@country varchar(50) = NULL
AS
BEGIN
DECLARE @Sql NVARCHAR(MAX);

SELECT
@Sql = N'SELECT ROW_NUMBER()
OVER(ORDER BY MatchID Desc) AS RowNum,
MatchID,
NameMatch,
Images
FROM Match WHERE MatchID > 0 '

IF @type IS NOT NULL
SELECT @Sql += N' AND Type = ''' + REPLACE(convert(varchar(50),@type),'''','''''')+'''';

IF @size IS NOT NULL
SELECT @Sql += N' AND MatchSize = ''' + REPLACE(convert(varchar(50),@size),'''','''''')+'''';

IF @country IS NOT NULL
SELECT @Sql += N' AND Country = ''' + REPLACE(convert(varchar(50),@country),'''','''''')+''''

EXEC SP_EXECUTESQL @Sql
END

我想要
select * 
from EXEC SP_EXECUTESQL @Sql result
where RowNum between (@currPage - 1) * @recodperpage + 1
and @currPage * @recodperpage

最佳答案

您可以声明一个 @table使用与存储过程输出相同的列,然后:

INSERT INTO @table
EXEC SP_EXECUTESQL @Sql

SELECT *
FROM @table
where RowNum between (@currPage - 1) * @recodperpage + 1
and @currPage * @recodperpage

关于sql-server - 如何从 EXEC sp_executeSql 中选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35704558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com