AspNetPager与MSSQL海量分页存储过程结合
存储过程Pagination:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Pagination]
@tblName varchar(255), -- 表名
@PKName varchar(255), -- 字段名
@strGotFields varchar(1000) = '*' , --查询字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strSort varchar(255) = '', --排序字段
@strWhere varchar(2000) = '', -- 查询条件 (注意: 不要加 where)
@isCount bit = 1 --取得记录条数
AS
DECLARE @strSQL varchar(6000) -- 主语句
DECLARE @strTmp varchar(1000) -- 临时变量
DECLARE @strOrder varchar(500) -- 排序类型
DECLARE @strCount varchar(1000)
DECLARE @fldName varchar(255)
DECLARE @sortName varchar(255)
DECLARE @countSQL varchar(1000)
SET @fldName = @PKName
IF @strSort != ''
BEGIN
SET @sortName = @strSort
END
ELSE
BEGIN
SET @sortName = @PKName
END
IF @isCount = 1
BEGIN
IF @strWhere != ''
BEGIN
SET @countSQL = 'select count(' + @fldName + ') from ' + @tblName + ' where ' + @strWhere
END
ELSE
BEGIN
SET @countSQL = 'select count(' + @fldName + ') from ' + @tblName
END
EXEC (@countSQL)
RETURN
END
ELSE
BEGIN
IF @OrderType != 0
BEGIN
SET @strTmp = '<(select min'
SET @strOrder = ' order by ' + @sortName + ' desc'
END
ELSE
BEGIN
SET @strTmp = '>(select max'
SET @strOrder = ' order by ' + @sortName +' asc'
END
SET @strSQL = 'select top ' + str(@PageSize) + @strGotFields + ' from '
+ @tblName + ' where ' + @fldName + '' + @strTmp + '('
+ @fldName + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '
+ @fldName + ' from ' + @tblName + '' + @strOrder + ') as tblTmp)'
+ @strOrder
IF @strWhere != ''
SET @strSQL = 'select top ' + str(@PageSize) + @strGotFields + ' from '
+ @tblName + ' where ' + @fldName + '' + @strTmp + '('
+ @fldName + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '
+ @fldName + ' from ' + @tblName + ' where ' + @strWhere + ' '
+ @strOrder + ')
相关文档:
create proc [dbo].[sp_lockinfo]
@kill_lock_spid bit=0, --是否杀掉阻塞的进程,1 杀掉, 0 仅显示
@show_spid_if_nolock & ......
在工作和学习中,常常会遇到需要把数据库带回家继续进行开发的情况,但用数据库自带的工具,有时候很麻烦,总是需要选择数据存放的目录
下面的二句脚本可以实现数据库的分离和附件
1.分离数据库
Sp_detach_db 数据库名
2.附件数据库
Sp_attach_db '数据库名','mdf文件存放目录','ldf文件存放目录' ......
数据类型是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer提供了25种数据类型:
·Binary[(n)]
·Varbinary[(n)]
·Char[(n)]
·V ......
MSSQL经典语句
1.按姓氏笔画排序:Select * from TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.数据库加密:select encrypt('原始密码')
select pwdencrypt('原始密码')
select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同 encrypt('原始密码')
select pwdencrypt('原始密码' ......
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm
例如:
select getdate()
2004-09-12 11:06:08.177
整理了一下SQL Server里面可能经常会用到的日期格式转换方法:
举例如下:
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVER ......