ALTER PROCEDURE [dbo].[p_kcre_zl]
@name NVARCHAR(100) = NULL,
@startDate DATETIME = NULL,
@endDate DATETIME = NULL,
@pageNumber INT,
@pageSize INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @startRow INT, @endRow INT;
SET @startRow = (@pageNumber - 1) * @pageSize + 1;
SET @endRow = @pageNumber * @pageSize;
-- 创建临时表并插入数据
SELECT
ym.ypcode,
ym.pm,
ym.gg,
ym.dw,
kcre.sl,
kcre.dj,
(kcre.sl * kcre.dj) AS je,
kcre.recode_date AS recodeDate,
IDENTITY(INT, 1, 1) AS RowNum
INTO #TempResults
FROM
mzyf..kc_recode kcre
LEFT JOIN
ykgl..ymdm ym ON ym.ypcode = kcre.ypcode
WHERE
(@name IS NULL OR ym.pm LIKE '%' + @name + '%')
AND (kcre.recode_date >= @startDate OR @startDate IS NULL)
AND (kcre.recode_date <= @endDate OR @endDate IS NULL)
ORDER BY
kcre.recode_date DESC;
-- 选择分页数据(移除别名)
SELECT
ypcode,
pm,
gg,
dw,
sl,
dj,
je,
recodeDate
FROM
#TempResults
WHERE
RowNum BETWEEN @startRow AND @endRow;
-- 删除临时表
DROP TABLE #TempResults;
END;
06-20
1万+