本来我是不赞成使用通用存储过程的,主要是因为根据表结构来定制分页查询不用动态的拼SQL,这样才是真正的高效,而且只要写过一个,那么再有新需求的时候,小范围改动几处就ok了。
但总是有人向我讨要或者讨论通用存储过程,没办法,被逼无奈,良心丧与困境。
木有找到T-SQL代码编辑器
-- ============================================= -- Author: 袁立强 -- Create date: 2006-5-11 -- Description: SQL 2005 版本 通用分页存储过程 -- For: FirstDM -- BLOG: http://blog.csdn.net/ylqmf -- ============================================= CREATE PROCEDURE [dbo].[Pagination] @Table nvarchar(4000) = N'select * from sys.objects', @ID nvarchar(200) = N'[object_id]', @PageSize int = 20, @PageIndex int = 1, @RowCount int OUTPUT as if @PageIndex<1 begin set @PageIndex=1; end if @PageSize<1 begin set @PageSize = 20; end declare @begin int declare @end int set @begin=(@PageIndex-1)*@PageSize+1; set @end = @PageIndex*@PageSize; declare @from nvarchar(4000) declare @sql nvarchar(4000) declare @index int select @index = PATINDEX(N'%from%',@table); if @index = 0 begin set @from = N'from '+@Table; set @sql= N'select * from '+@Table; end else begin set @from = SUBSTRING(@table,@index,LEN(@table)-@index+1); set @sql = @Table; end declare @parameters nvarchar(50) set @parameters = '@RowCount int OUTPUT'; declare @SQLString nvarchar(max) select @SQLString =N' declare @Tpage table ( id bigint, inx bigint identity(1,1) PRIMARY KEY ); with cte_page as ( select DISTINCT '+@id+N' as id '+@from+N' ) insert @Tpage select * from cte_page; with cte_temp as ( '+@sql+N' ) select a.* from cte_temp as a inner join @Tpage as b on b.id = a.'+@ID+N' where b.inx between '+CONVERT(nvarchar(100), @begin)+N' and '+CONVERT(nvarchar(100), @end)+N'; with cte_count as ( select top 1 inx from @Tpage order by inx desc ) select @RowCount = inx from cte_count; ' exec sp_executesql @SQLString , @parameters ,@RowCount=@RowCount OUTPUT go
您还没有登录,请您登录后再发表评论
为了提升全文索引过程的效率,Microsoft SQL Server 2005 改进了全文收集机制的体系结构,从而大大增强了性能。 Microsoft Full-Text Engine for SQL Server (MSFTESQL) 服务是一个全文索引和搜索引擎。MSFTESQL ...
优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 生成器 将表数据生成SQL脚本的...
9.1.1 连接到Microsoft SQL Server 255 9.1.2 连接到其他数据库 257 9.1.3 在Web配置文件中保存连接字符串 258 9.1.4 对连接字符串加密 260 9.2 执行数据库命令 261 9.2.1 执行内联SQL语句 261 9.2.2 执行存储过程 ...
19.5 转换器:从Microsoft SQL Server到MySQL 19.6 VBMySQLDirect 第20章 Visual Basic .NET和C# 20.1 ADO .NET与MySQL之间的通信 20.2 编程技巧 20.3 示例:把新图书记录存入mylibrary数据库 20.4 ...
10.4.3 利用SQL Server完成记录集分页 333 10.4.4 数据分页小结 336 10.5 使用数据库中的图像 337 10.6 小结 338 第11章 使用XML数据 339 11.1 XML的定义 339 11.1.1 XML和HTML的差别 340 11.1.2 标记和元素 ...
1.4 安装SQL Server 2005 1.5 ASP.NET 应用程序基础 1.5.1 创建ASP.NET 应用程序 1.5.2 运行ASP.NET 应用程序 1.5.3 编译ASP.NET 应用程序 1.6 小结 第 2 章 C# 3.0 程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 第...
1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# ...
19.5 转换器:从Microsoft SQL Server到MySQL 19.6 VBMySQLDirect 第20章 Visual Basic .NET和C# 20.1 ADO .NET与MySQL之间的通信 20.2 编程技巧 20.3 示例:把新图书记录存入mylibrary数据库 ...
在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1. ...
26411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建...
相关推荐
为了提升全文索引过程的效率,Microsoft SQL Server 2005 改进了全文收集机制的体系结构,从而大大增强了性能。 Microsoft Full-Text Engine for SQL Server (MSFTESQL) 服务是一个全文索引和搜索引擎。MSFTESQL ...
优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 生成器 将表数据生成SQL脚本的...
9.1.1 连接到Microsoft SQL Server 255 9.1.2 连接到其他数据库 257 9.1.3 在Web配置文件中保存连接字符串 258 9.1.4 对连接字符串加密 260 9.2 执行数据库命令 261 9.2.1 执行内联SQL语句 261 9.2.2 执行存储过程 ...
19.5 转换器:从Microsoft SQL Server到MySQL 19.6 VBMySQLDirect 第20章 Visual Basic .NET和C# 20.1 ADO .NET与MySQL之间的通信 20.2 编程技巧 20.3 示例:把新图书记录存入mylibrary数据库 20.4 ...
10.4.3 利用SQL Server完成记录集分页 333 10.4.4 数据分页小结 336 10.5 使用数据库中的图像 337 10.6 小结 338 第11章 使用XML数据 339 11.1 XML的定义 339 11.1.1 XML和HTML的差别 340 11.1.2 标记和元素 ...
1.4 安装SQL Server 2005 1.5 ASP.NET 应用程序基础 1.5.1 创建ASP.NET 应用程序 1.5.2 运行ASP.NET 应用程序 1.5.3 编译ASP.NET 应用程序 1.6 小结 第 2 章 C# 3.0 程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 第...
10.4.3 利用SQL Server完成记录集分页 333 10.4.4 数据分页小结 336 10.5 使用数据库中的图像 337 10.6 小结 338 第11章 使用XML数据 339 11.1 XML的定义 339 11.1.1 XML和HTML的差别 340 11.1.2 标记和元素 ...
1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# ...
1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# ...
1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# ...
1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# ...
1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# ...
19.5 转换器:从Microsoft SQL Server到MySQL 19.6 VBMySQLDirect 第20章 Visual Basic .NET和C# 20.1 ADO .NET与MySQL之间的通信 20.2 编程技巧 20.3 示例:把新图书记录存入mylibrary数据库 ...
在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1. ...
26411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建...
26411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建...
26411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建...
26411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建...
26411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建...
26411.8.2 基于窗体的更新 26411.8.3 用SQL语句进行更新 26411.8.4 用SQL Server存储过程进行更新 265第三部分 设计窗体和报表第12章 创建和使用窗体 26712.1 理解Access窗体和控件的角色 26712.2 使用窗体向导创建...