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ÍøÉÏÏÂÁ˸öTimesTen£¬°²×°ÔÚÎÒÃǵIJâÊÔ·þÎñÆ÷ÉÏÃæaix5£¬ÕâÆª¶ÌÎÄÖ÷ÒªÊÇÎÒ²Ù×÷Êý¾Ý¿âµÄÒ»¸ö±Ê¼Ç£¬ÏÂһƪ´òËã·¢Ò»¸öc³ÌÐòµÄÀý×ÓºÍÎÒ²âÊԵĽá¹û£¬ºóÐø¿ÉÄÜ»¹»áʹÓÃTimesTen cache of oracleÕâ¸ö²úÆ·£¬Â½ÐøÒ²»á·¢Ò»ÏÂÕâ· ......
select d.code,d.name, sum(w.weight) weight,round(avg(w.price),2) price,sum(w.money) money
from weight_info w left outer join t_dict d on w.productcode=d.code left outer join t_balancecode b on w.balancecode=b.balancecode where 1=1 and w.operdate>TO_TIMESTAMP('2009-11-2 04:12:32.0', ' ......
Èç¹ûÄã½Ó´¥¹ýmysqlµÄ»°Ò»¶¨¶ÔmysqlµÄtextºÍblob²»»áİÉú£¬ÔÚmysqlÖÐÊÇÖ±½Ó²Ù×÷textºÍblobµÄ¡£µ«ÊÇÔÚoracleÖУ¬Ëü°Ñlob×öΪһÖÖÌØÊâµÄ×ֶΣ¬²»ÄÜÖ±½Ó½øÐвÙ×÷--±ÈÈç²»ÄÜÖ±½Ó²åÈëµ½lob×Ö¶ÎÖУ¬Ò²²»ÄÜÓÃlike²éѯµÈµÈ¡£
ÕâÀïÊÇÎÒ±£´æµÄһƪÕâ·½ÃæµÄÎÄÕ£¬ÔÎİá¹ýÀ´£¬ÓÉÓÚ±£´æµÄʱºòÖ»ÊÇÈ¡ÁËÒ»²¿·Ö£ ......
Ïȶ¨ÒåÒ»¸öcursor:
Procedure P_MYPROC (
PI_PARAM VARCHAR2
)IS
VI_A&nb ......
µ¥Ðк¯Êý:
º¯ÊýÀà±ð:
µ¥ÐÐ:·µ»Øµ¥¸ö½á¹û:substr,length
¶àÐÐ:·µ»Ø¶à¸ö½á¹û,any,all
µ¥ÐеķÖÀà:
×Ö·ûÀ࣬ÈÕÆÚÀ࣬Êý×ÖÀ࣬ת»»À࣬ͨÓÃÀà
1.×Ö·ûÀà
ת»»´óСд:
lower:ת»»ÎªÐ¡Ð´
Select ENAME,LOWER(ENAME) from EMP
upper:ת»»Îª´óд
Select upper( ......