Oracle´æ´¢¹ý³Ì·ÖÒ³
×ªÔØ
from: http://cid-4e5d038451e31a25.spaces.live.com/blog/cns!4E5D038451E31A25!140.entry
create or replace procedure P_QuerySplit(
sqlscript varchar2, --±íÃû/SQLÓï¾ä
pageSize integer, --ÿҳ¼Ç¼Êý
pageIndex integer, --µ±Ç°Ò³
totalCount out number, --×ܼǼÊý
totalPage out number, --×ÜÒ³Êý
v_cur out sys_refcursor --·µ»ØÓαê
) is
/**
* by chenjianxin 2008-5-3
*
*/
v_PageSize number;
v_PageIndex number;
v_SQL_Count varchar2(4000);
v_SQL varchar2(4000);
v_StartIndex number;
v_EndIndex number;
begin
v_PageSize:=pageSize;
if v_PageSize=0 then
v_PageSize:=1;
end if;
--ͳ¼Æ¼Ç¼ÊýÁ¿
v_SQL_Count := 'select count(*) from ('|| sqlscript ||') a ';
execute immediate v_SQL_Count into totalCount;
--¼ÆËã×ÜÒ³Êý
totalPage:=CEIL(totalCount/v_PageSize);
--ÑéÖ¤Ò³ºÅ Èç¹ûÒ³ºÅ´óÓàÁË×î´óÒ³Êý£¬·µ»Ø×îºóÒ»Ò³
v_PageIndex:=pageIndex;
if v_PageIndex>totalPage then
v_PageIndex:=totalPage;
end if;
--¼ÆË㿪ʼµÄIndexºÍ½áÊøµÄIndex
v_StartIndex:=(v_PageIndex-1)*v_PageSize+1;
v_EndIndex:=v_PageIndex*v_PageSize;
v_SQL:='SELECT /*+ FIRST_ROWS */* from (';
v_SQL:=v_SQL||' SELECT A.*, ROWNUM RN ';
v_SQL:=v_SQL||' from ('||sqlscript||') A ';
v_SQL:=v_SQL||' WHERE ROWNUM <= '||v_EndIndex;
v_SQL:=v_SQL||')WHERE RN >= '||v_StartIndex;
open v_cur for v_SQL;
end P_QuerySplit;
java´úÂ룺¡¡
public List listSplit(StringBuffer sbSQL,SplitPageInfo splitPageInfo)throws Exception{
try {
java.sql.CallableStatement proc = this.con.prepareCall(
&n
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
Ò»¡¢¼àÌýÆ÷(LISTENER)
¡¡¡¡¼àÌýÆ÷ÊÇOracle»ùÓÚ·þÎñÆ÷¶ËµÄÒ»ÖÖÍøÂç·þÎñ£¬Ö÷ÒªÓÃÓÚ¼àÌý¿Í»§¶ËÏòÊý¾Ý¿â·þÎñÆ÷¶ËÌá³öµÄÁ¬½ÓÇëÇó¡£¼ÈÈ»ÊÇ»ùÓÚ·þÎñÆ÷¶ËµÄ·þÎñ£¬ÄÇôËüÒ²Ö»´æÔÚÓÚÊý¾Ý¿â·þÎñÆ÷¶Ë£¬½øÐмàÌýÆ÷µÄÉèÖÃÒ²ÊÇÔÚÊý¾Ý¿â·þÎñÆ÷¶ËÍê³ÉµÄ¡£
¶þ¡¢±¾µØ·þÎñÃû(Tnsname)
¡¡¡¡Oracle¿Í»§¶ËÓë·þÎñÆ÷¶ËµÄÁ¬½ÓÊÇͨ¹ý¿Í»§¶ ......
Ïȶ¨ÒåÒ»¸öcursor:
Procedure P_MYPROC (
PI_PARAM VARCHAR2
)IS
VI_A&nb ......
oracle Êý¾Ý¿âÀï²é¿´±í¿Õ¼äÊ©Óþ°¿ö£»
oracle±í¿Õ¼äµÄʶùÇé¿öÒª³£³£²é¿´£¬Õý³£ÏпձÈÂʹýµÍµÄʱ·Ö¾ÍÓ¦¸Ã˼¿¼Ôö´ó±í¿´¿Õ¼äÁË¡£²é¿´²½ÖèÈç´ÎSQL:
²½Öè1£º
select dbf.tablespace_name,
dbf.totalspace "×ÜÁ¿(M)",
dbf.totalblocks as ×Ü¿éÊý,
dfs.freespace "ÓàÏÂ×ÜÁ¿(M)",
dfs.freeblocks "ÓàÏ¿éÊý",
(dfs.f ......
10ÔÂ10ÈÕµÄÃÀ¹ú¾É½ðɽһÏÂÓ¿ÈëÁË4ÍòÈËÁ÷£¬ËûÃǾۼ¯ÔھɽðɽµÄMoscone»áÕ¹ÖÐÐÄ£¬ÖÜΧ81000¸ö¾Æµê´²Î»±»¶©¹ºÒ»¿Õ£¬¾É½ðɽÊÐÕþ¸®×¨ÃÅ·âËøÁËÖܱßÈýÌõµÀ·µÄ½»Í¨£¬ÒÔΪÕâЩÅÓ´óÈËÁ÷Ìṩ±ãÀû¡£ÕâЩÈ˶¼ÊÇÈ«ÇòITÒµ½çµÄ¾«Ó¢——´ÓIT¾ÞÍ·µÄÁìÐäµ½ÆÕͨµÄÆóÒµIT¼¼ÊõÈËÔ±£¬´Ó×Éѯ»ú¹¹µÄ·ÖÎöÈËÊ¿µ½¸÷ÐÐÒµµÄÐÅÏ¢»¯Ö÷¹Ü£¬µ ......