sqlserver分页存储过程的用法
create proc P_QuerySplit
@sqlscript varchar(20), --表名/SQL语句
@pageSize int, --每页记录数
@pageIndex int, --当前页
@totalCount int output, --总记录数
@totalPage int output --总页数
as
declare @v_sqlscript varchar(20)
declare @v_PageSize int
declare @v_PageIndex int
declare @v_SQL_Count int
declare @v_SQL varchar(4000)
declare @v_StartIndex int
declare @v_EndIndex int
set @v_PageSize=@pageSize
--每页记录数
if @v_PageSize=0
set @v_PageSize=1
print @v_pageSize
--查询总记录数
select @v_SQL_Count=count(1) from stuInfo
set @totalCount=@v_SQL_Count
print @totalCount
--总页数
set @totalPage=ceiling(@totalCount/@v_PageSize)
--当前页
if(@pageIndex=1 or @pageIndex<1)
begin
set @pageIndex=1
set @v_PageIndex=@pageIndex
set @v_StartIndex=0
set @v_EndIndex=ceiling(@v_pageIndex*@v_pageSize)
print @pageIndex
end
if @pageIndex>1
begin
set @v_PageIndex=@pageIndex
set @v_StartIndex=ceiling((@v_PageIndex-1)*@v_PageSize)
set @v_EndIndex=ceiling(@v_pageIndex*@v_pageSize)
print @pageIndex
end
set @v_sqlscript=@sqlscript
--当前页的记录
-- set @v_SQL='select top'+str(@v_PageSize)+' * from '+ @v_sqlscript+
--' where (id>(select max(id) from (select top '+str(@v_startIndex)+' id
--from '+ @v_sqlscript +' order by id) a)) order by id'
--exec (@v_SQL)
set @v_SQL='select * from (select row_number() over(order by id desc) as rownum,
* from '+@v_sqlscript+') as t where t.rownum>'+str(@v_StartIndex)+' a
相关文档:
>>mysql:
1、查看所有表名:
show tables [from db_name];
2、查看字段信息
SHOW FULL COLUMNS from db_name.table_name
获取以下信息
Field :字段名
Type:字段类型
Collation:字符集 (mysql 5.0以上有)
Null :是否可以为NULL
Key:索引(PRI,unique,index)
Default:缺省值
Extra:额外(是否 aut ......
数据里(sqlserver) 的操作 :
eg :2008-3-31 10:34 --> 2008-3-31
一.截取字符串方式
select substring('2008-3-31 10:34',0,charindex(' ','2008-3-31 10:34'))
二.
Select
CONVERT(varchar, getdate(), 1),--mm/dd/yy
CONVERT(varchar, getdate(), 2),--yy.mm.dd
CONVERT(varchar, getdate() ......
SQLServer中Datetime类型数据的比较
2009年02月20日 星期五 16:40
/* 定义开始日期和结束日期*/
declare @date_a datetime,@date_b datetime
set @date_a='2009-2-10'
set @date_b='2009-2-12'
/* 在日期date_a(包含) 和date_b(不包含) 之间*/
select * from ut_article where createtime between @ ......
SQLSERVER的事件探测器是一个很强大很直观的工具,当我们在ERP系统里面做一定操作的时候,都会在数据库里面形成查询或者增删改的T-SQL语句。通过事件探测器就可以知道ERP里面的单据在数据库的哪个表里面,甚至哪个字段里面。还可以根据探测到的SQL语句分析ERP系统的表结构,表之间的关联字段是哪个。
大家初打开事件探测器 ......