在以数据库为基础的应用程序开发中,分页是一个比较常用的操作,
可惜的是sql server2000中没有oracle中相应的rownum属性可用,
小弟用”触发器“生成一个rownum列]
勉强可以一用,当然用如下的sql语句也可以生成第i页,每页n行,tid是主键列,
select top n * from tab
where strwhere and tid>(select max(tid)
from (select top (i-1)*n tid from tab where strwhere order by tid ) as t)
)
order by tid
也可以,但是我想用另一种方法也未尝不可
因此就有自动生成rownum列的想法
eg:
建表:
create table [dbo].[orderemp] (
[rownum] [int] not null ,—同时该列要求有唯一性约束
[ordid] [int] identity (1, 1) not null ,—主键列
[empid] [int] not null ,
[emptxt] [varchar] (50) collate chinese_prc_ci_as not null ,
[empdate] [datetime] not null —此列上建“聚集索引“
) on [primary]
———-对插入语句处理的触发器
create trigger orderempaddtrg
on orderemp
instead of insert
as
beg