暂时将记录存储在作为类型的过程中?

时间:2016-09-19 10:34:13

标签: oracle procedure

我正在我的程序中形成一个动态SQL,如下所示返回REFCURSOR中的特定行:

/*
out_top_cur OUT SYS_REFCURSOR

lv_query:='select '||lv_column_list||' from ( select /*+ first_rows(10) */ '||lv_column_list||', row_number() over (order by '||pk_column_list||' ) rn from '||lv_actual_table_name||' ) where rn in ( '||l_rownr||' ) order by rn ';    

OPEN out_top_cur FOR lv_query; 
*/


I derived the variable l_rownr in my procedure like below :

51,101,151,201,251,301,351,401,451,501

/*
FOR cntr IN l_min_page..l_max_page
LOOP

l_rownr:=l_rownr||','||(((cntr-1)*lv_page_cnt)+1);

END LOOP;

l_rownr:=LTRIM(l_rownr,','); 
*/

每个rownum表示正在显示的页面的第一行。 (每个页面显示50行,并在程序中相应计算..在这种情况下,我知道我必须显示第2页到第11页的第一条记录) 现在虽然有rownum,但我需要将页面#以及这些行中的每一行发送到调用服务。

是否可以保持rownumber&某些表类型中的页面&然后加入最后的查询? 无法想到任何直接的解决方案..非常感谢任何帮助。

0 个答案:

没有答案