ibatis调用sqlserver存储过程
发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,获取分页的每页结果存储过程CREATE PROCEDURE [dbo].[mst_sp_pageshowex4] --输入参数 @qCols varchar(8000),
获取分页的每页结果存储过程
CREATE PROCEDURE [dbo].[mst_sp_pageshowex4] --输入参数 @qCols varchar(8000), -- @qTables varchar(8000), -- @qWhere varchar(8000), -- @oKey varchar(100), -- @pageSize int, -- @pageNumber int --, 0AS--不生成影响行数set nocount on BEGIN--声明变量 DECLARE @sqlstr AS varchar(max) DECLARE @sqlTable AS varchar(8000)set @sqltable = 'SELECT ROW_NUMBER() OVER(ORDER BY '+ @oKey + ' ) AS RowId,' + @qCols + ' FROM '+@qTables + ' where ' + @qWhere ;set @sqlstr = 'SELECT * FROM ( '+@sqlTable+' ) AS D WHERE RowId between ' + str(@pageNumber*@pagesize +1) + ' AND ' + str((@pageNumber +1)*@pagesize) ;exec (@sqlstr);END
获取分页总记录数目存储过程
create PROCEDURE [dbo].[sp_pagecount] @qfromTables varchar(8000), -- 来自哪几张表 @qwhere varchar(8000) AS BEGIN DECLARE @sqlstr AS varchar(8000)set @sqlstr='SELECT COUNT(*) FROM ' + @qfromTables +' where ' +@qwhere;print @sqlstr;exec (@sqlstr);END
sql映射文件Article.xml配置