sql 存储过程 分页
-- FUN:存储过程分页
-- @Table nvarchar(255), -- 表名
-- @Fields nvarchar(1000) = ' * ', -- 需要返回的列
-- @OrderField nvarchar(255), -- 排序的字段名,一般为唯一标识
-- @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
-- @PageSize int = 10, -- 每页有多少条记录
-- @PageIndex int = 1, -- 第几页
-- @Count int output, -- 返回记录总数
-- @StrWhere nvarchar(1500) -- 查询条件 (注意: 不要加 where,初始化为1=1使得查询条件永远不为空)
----------------------------------------------------------
ALTER PROC [dbo].[PR_pages]
(
@Table nvarchar(4000), -- 表名
@Fields nvarchar(1000) = ' * ', -- 需要返回的列
@OrderField nvarchar(255), -- 排序的字段名,一般为唯一标识
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@PageSize int = 10, -- 每页有多少条记录
@PageIndex int = 1, -- 第几页
@StrWhere nvarchar(1500), -- 查询条件 (注意: 不要加 where,初始化为1=1使得查询条件永远不为空)
@Count int output -- 返回记录总数
)
AS
BEGIN
DECLARE @StrSQL nvarchar(4000) -- 主语句
DECLARE @StrTmp nvarchar(110) -- 临时变量
DECLARE @StrOrder nvarchar(400) -- 排序类型
DECLARE @SumSql nvarchar(4000) -- 记录总数
--SET @StrWhere = ' 1=1 '
-- 执行总数统计
SET @SumSql = 'SELECT @Count = COUNT(0) from ' + @Table + ' WHERE 1=1 ' + @StrWhere
EXEC sp_executesql @SumSql,N'@Count int output',@Count output -- 记录总数
-- 如果@OrderType不是0,就执行降序
IF @OrderType != 0
BEGIN
SET @StrTmp = ' <(SELECT MIN'
SET @StrOrder = ' ORDER BY [' + @OrderField + '] DESC'
END
ELSE
BEGIN
SET @StrTmp = ' >(SELECT MAX'
SET @StrOrder = ' ORDER BY [' + @OrderField + '] ASC'
END
-- 如果是第一页就执行以下代码,加快执行速度
IF @PageIndex = 1
BEGIN
SET @StrSQL = 'SELECT TOP ' + STR(@Pag
相关文档:
Sql Server2005的一个新特性便是我等了很久的Row_Number(),以前用Oracle时用rownumber写分页存储过程很方便:)
下面是我做的一个小小的测试,测试我原来在sql server2000下所用的分页存储过程与使用Row_Number()编写的存储过程在Sql Server2005上的执行效率...
数据表:
REATE TABLE [dbo].[test](
[UserId] [int] Pri ......
Google dorks sql injection:
inurl:index.php?id=
inurl:trainers.php?id=
inurl:buy.php?category=
inurl:article.php?ID=
inurl:Play_old.php?id=
inurl:declaration_more.php?decl_id=
inurl:Pageid=
inurl:game ......
现在很多网站都提供了站内的搜索功能,有的很简单在SQL语句里加一个条件如:where names like ‘%words%’就可以实现最基本的搜索了。
我们来看看功能强大一点,复杂一点的搜索是如何实现的(在SQL SERVER200/2005通过存储过程实现搜索算法)。
我们 ......
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
......
SQL Server 系统全局变量
@@CONNECTIONS
返回自上次启动以来连接或试图连接的次数。
@@CURSOR_ROWS
返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)
@@DATEFIRST
返回每周第一天的数字
@@ERROR
返回最后执行的SQL 语句的错误代码。
@@FETCH_STATUS
返 ......