不是拼SQL语句的页面存储过程
ALTER PROCEDURE [dbo].[GetUsersList]
@BigClassID int=0,--大类别ID
@SmallClassID int=0 ,--小类别ID
@pageindex int=1,
@pagesize int=3,
@ret int output --共几条
AS
set rowcount @pagesize
if @SmallClassID>0
begin
select * from(
select id,BigClassName,SmallClassName,UserName,Corporation,rank() over(order by id desc) as rownumber from Users where BigClassID=@BigClassID and SmallClassID=@SmallClassID
)t where t.rownumber>(@pageindex-1)*@pagesize;
set @ret=(select count(id) from Users where BigClassID=@BigClassID and SmallClassID=@SmallClassID);
end
else
begin
select * from(
select id,BigClassName,SmallClassName,UserName,Corporation,rank() over(order by id desc) as rownumber from Users
)t where t.rownumber>(@pageindex-1)*@pagesize;
set @ret=(select count(id) from Users) ;
end
相关文档:
SQL codeDECLARE @dt datetime
SET @dt=GETDATE()
DECLARE @number int
SET @number=3
--1.指定日期该年的第一天或最后一天
--A. 年的第一天
SELECT CONVERT(char(5),@dt,120)+'1-1'
--B. 年的最后一天
SELECT CONVERT(char(5),@dt,120)+'12-31'
--2.指定日期所在季度的第一天或最后一天
--A. 季度的第一天
SE ......
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE 的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要 ......
一、 建立一个安全抽象层
我们并不建议你手工地把前面介绍的技术应用于每一个用户输入的实例中,而是强烈推荐你为此创建一个抽象层。一个简单的抽象是把你的校验方案加入到一个函数中,并且针对用户输入的每一项调用这个函数。当然,我们还可以创建一种更复杂的更高一级的抽象-把一个安全的查询封装到一个类中,从而应 ......
1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECTTOP10*fromTestTableWHERE(IDNOTIN (SELECTTOP20id fromTestTable ORDERBYid))ORDERBYIDSELECTTOP页大小*fromTestTableWHERE(IDNOTIN (SELECTTOP页大小*页数id from表 ORDERBYid))ORDERBYID
2.分 ......
这段时间碰到一个很奇怪的问题:SQL server不能远程连接。命名管道和TCP/IP协议都已启用,防火墙也关闭了等等,但就是不能远程连接数据库。终于找到原因了,当输入数据库服务器实例名时应:\,, 平常一般不用附加端口号的。 ......