17,086
社区成员
发帖
与我相关
我的任务
分享
select * from (select rownum rm,Web_Menu.* from Web_Menu where parent_id=0 order by order_id asc) where rm>=2 and rm<=6
--试着帮你改改,对SqlServer不太熟悉
create or replace procedure GetRecordFromPage
(
startIndex varchar2(18),--记录上限
endIndex varchar2(18),--记录下限
tableName varchar2(50),--表名,如 news_list
idField varchar2(20),--ID字段,此字段是关键字段
dataField varchar2(500),--字段名,如 menu_id,name,也可以*
orderBy varchar2(200),--排序,如order by id desc,不排序可以为空
searchWhere varchar2(5000)--查询条件,不需要where,如 and menu_id='5'
)
as
sql_str varchar(6000);
/* 这个可以在线创建
--创建临时表
CREATE TABLE indextable
(
IndexId int identity(1,1) NOT NULL,
nid int
)
*/
begin
sql_str := 'insert into indextable(nid) select '||idField||' from '||tableName||' where 1=1 and '||searchWhere ||'rownum<='||endIndex;
execute immediate sql_str;
sql_str := 'select '||dataField||' from '||tableName||' A
inner join indextable B on A.'||idField||'=B.nid
where B.IndexId between '||startIndex||' and '||endIndex||'order by B.IndexId ';
execute immediate sql_str;
end;