数据表 TB_SEARCH,
FID   FNAME  FCITY
1     属部   北京
2     标库   北京
3     布面   上海
4     单签   广州
5     邑盟   上海
.................在WEB中,判断用户来自哪个城市,如果在表中存在对应记录,则在列表页面中优先显示。
如用户来自上海,则显示:
FNAME  FCITY
布面   上海
邑盟   上海
属部   北京
标库   北京
单签   广州
............-------------------
我想完成这样一个存储过程:
P_GetList(pCity VARCHAR2,  --城市
          pPageId INTEGER, --当前所在页面ID
          pPageSize INTEGER,--每页显示记录数
         pCursor OUT tCursor)   --tCursor为定义游标
通过游标给页面返回结果集请问有什么好办法来完成这个功能,谢谢!

解决方案 »

  1.   

    select *
    from
    (
    select rownum,k.* from
    (
    select FNAME,FCITY,0 s from TB_SEARCH where FCITY = pCity 
    union 
    select FNAME,FCITY,1 from TB_SEARCH where FCITY <> pCity
    order by s
    ) K
    ) L
    where rownum between (pPageId-1) * pPageSize + 1 and pPageId * pPageSize
      

  2.   

    select * from department where
    rowid not in(
    select rowid  from department where rownum<=(pPageId *pPageSize )
    )and rownum<=pPageSize